Управление конечными точками API как константами - PullRequest
1 голос
/ 29 февраля 2012

Я унаследовал приложение для iPhone, в котором есть файл, содержащий весь код, необходимый для выполнения вызовов API на нашем сервере (ServerRequests.h / m).

Все конечные точки для API скрыты в различных методах, и я ищу способ реорганизовать эти конечные точки в отдельный файл или в наименее объявленные константы в верхней части этого файла.

Проблема в том, что части конечных точек API являются переменными, например user_id, photo_id и т. Д.

Могу ли я сохранить строку формата как константу, а затем заменить переменные части позже?

Если нет, есть ли у вас какие-либо предложения о том, как лучше управлять своими конечными точками API, чем просто распределить их по всему файлу?

Спасибо!

1 Ответ

2 голосов
/ 29 февраля 2012

Если я понимаю вашу потребность, что-то вроде этого может работать для вас:

#define SOME_ENDPOINT @"what/ever/%@/you/need"

В момент использования вы используете форматирование строки для получения окончательной строки:

[NSString stringWithFormat:SOME_ENDPOINT, user_id, ...];

IOW большая часть строки хранится в константе, которая является шаблоном, используемым в качестве спецификации формата для форматирования окончательной строки.

Это то, что вы хотите?Или нужно что-то «любитель»?В Obj-C мне не хватает функции Python - у вас могут быть спецификаторы named в формате, таком как @ "some /% (user_id) s / etc / etc /", и когда вы выполняете форматирование, вы предоставляететолковый словарь).Спецификация 'user_id' используется в качестве ключа для поиска связанного значения, которое затем форматируется (например, используя спецификацию 's' в моем примере. Не найдено аналогичной функции в Obj-C, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...