Лучшие практики в построении и обработке макросов - PullRequest
1 голос
/ 11 сентября 2011

Я создаю приложение IOS и хотел бы предложить пользователю возможность использовать макросы для различных аспектов системы.

Например, у меня может быть такой простой макрос:

{include name="some name" pre="some it of htmk" post="some other bit of html"}

Это будет включать в себя содержимое элемента с именем "some name" в теле документа, над которым работает пользователь.

или у меня может быть что-то более сложное, подобное этому:

{notesForTag name={ListAllTags pre="some bit of html" post="some other bit of html"} pre="..." post="..."}

Что будет перечислять все документы в системе, сгруппированные по тегам. Возможность добавлять данные (например, html) в начале и конце каждого возвращаемого тега позволит пользователю, например, отформатировать ответ как стол, или использовать определенный стиль и т. д.

Концептуально, я знаю, как я хочу, чтобы это работало, но мне интересно, есть ли какие-нибудь лучшие методы построения и обработки макросов, которые могли бы помочь мне в моем пути. Все, что связано с Целью C / IOS, было бы наиболее полезным.

Редактировать: Чтобы добавить некоторую ясность, я хочу обнаружить, что эффективный и точный способ разобрать что-то подобное. Разобрав вещи, думаю, все остальное будет довольно просто.

Спасибо.

1 Ответ

0 голосов
/ 11 сентября 2011

NSScanner , вероятно, будет хорошо работать для разбора чего-то подобного, возможно, с рекурсивной функцией, позволяющей использовать вложенные макросы, такие как второй. Вы также можете рассмотреть возможность использования XML для представления своих макросов, что позволит вам использовать NSXMLParser для его анализа, поэтому вам нужно беспокоиться только о содержимом, а не о структуре.

...