#objective-c #ios #rest #restkit
#objective-c #iOS #rest #restkit
Вопрос:
Я пишу клиент для веб-службы с полу-REST (пока он поддерживает только запросы GET).
Моя проблема следующая. У меня есть один базовый URL и два типа ресурсов, каждый из которых находится на другом пути к ресурсам.
К этому времени у меня есть два класса, которые представляют эти структуры ресурсов, у меня есть два экземпляра RKObjectMapping
для сопоставления каждого типа ресурсов, и у меня есть два экземпляра RKObjectManager
каждого из них с разным отображением. В приложении я загружаю ресурсы, вызывающие loadObjectsAtResourcePath:
каждый экземпляр RKObjectManager
.
Может кто-нибудь подсказать, как я могу улучшить свой код, потому что я чувствую, что должен использовать только один экземпляр RKObjectManager
, поскольку я работаю только с одним веб-сервисом.
Я буду очень благодарен за любые советы, потому что я много искал и не нашел никакого решения.
Комментарии:
1. Базовый URL-адрес тот же, а конечные точки разные, верно? В чем преимущество использования двух экземпляров RKObjectManager? почему бы просто не использовать один и не передавать правильное сопоставление для каждого вызова?
2. Я согласен с theVurt. Почему бы просто не использовать [RKObjectManager sharedManager]?
Ответ №1:
Я думаю, вы можете сделать что-то вроде этого, чтобы использовать один RKObjectManager:
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:somePath
usingBlock:^(RKObjectLoader* loader) {
// Set the mapping to use for this particular request
loader.objectMapping = specificObjectMappingRequired;
loader.delegate = ...
}];
Для получения дополнительной информации см. Ссылку на RKObjectManager.