Сопоставление нескольких ресурсов из одного ObjectManager в RestKit

#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.