RestKit: изменить базовый URL-адрес RKObjectManager

Можно ли изменить базовый URL-адрес RKObjectManager после создания?

У меня есть окно для входа в систему, и от псевдонима я решаю, какой URL для API я должен использовать. Если я создам RKObjectManager после заполнения ник / пароля, я могу сделать только один вызов из RestKit ( https://groups.google.com/forum/?fromgroups#!topic/restkit/wFNhpCW-URA ). Если я создаю функцию RKObjectManager viewDidLoad – я не могу изменить URL.

Есть ли такое же решение моей проблемы?

Благодарю.

Просто потратил некоторое время на выяснение того, как это можно сделать в v0.20. Из того, что я могу сказать, вы не можете напрямую изменить базовый URL-адрес, не входя в исходный код AFNetworking. Вы можете создать новый HTTPClient и установить его, но я обнаружил, что это вызвало еще больше проблем, по-видимому, потому что RestKit делает дополнительную настройку в HTTPClient HTTPClient при настройке RKObjectManager и, устанавливая клиента напрямую, вы упускаете это.

Я придумал это решение, которое должно создать еще один RKObjectManager с новым baseURL и повторно добавить дескрипторы. Вам также потребуется снова установить типы сериализации и заголовков.

 NSString *urlString = @"http://www.something.com/api"; RKObjectManager *newManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:urlString]]; [newManager setRequestSerializationMIMEType:RKMIMETypeJSON]; [newManager setAcceptHeaderWithMIMEType:RKMIMETypeJSON]; [newManager addResponseDescriptorsFromArray:[RKObjectManager sharedManager].responseDescriptors]; [newManager addRequestDescriptorsFromArray:[RKObjectManager sharedManager].requestDescriptors]; [RKObjectManager setSharedManager:newManager]; 

Связанная документация: использование нескольких базовых URL-адресов в RestKit

Вот способ изменения RestKit baseURL после init:

 [RKObjectManager sharedManager].client.baseURL = [RKURL URLWithString:newBaseUrlString]; 

Уведомление из документа RestKit:

Изменение baseURL имеет побочный эффект, вызвавший восстановление экземпляра requestCache. Кэши поддерживаются для каждого узла.

Я использую его, и он отлично работает 🙂

Быть осторожен!

Я использовал принятый ответ для RestKit 2.0, но, к сожалению, это привело к сложному отладке сбоя в режиме restkit. То, что работало, было просто инкапсулировать все создание дескриптора и другие параметры objectmanager в метод и вызвать его с новым объектом диспетчера объектов перед вызовом [RKObjectManager setSharedManager: newManager];

Я не думаю, что для этого есть решение. RestKit использует базовый URL-адрес внутри и не может быть изменен.

  • Как мне связать объекты Core Data для использования с RestKit?
  • Вход пользователя с twitter в iOS ... что использовать?
  • Как обновить существующий объект с частичными данными в режиме restkit?
  • Может ли кто-нибудь предоставить ссылку на учебник RestKit 0.20, который работает
  • RestKit: создание заглушек для внешних ключей
  • Дублированные объекты данных ядра, созданные в RestKit 0.20.2
  • iOS - RestKit и очистка всех данных?
  • Объект (null) не является ключевым значением, совместимым с кодировкой для ключевого «заголовка»,
  • Отношения основных данных теряются после извлечения большего количества объектов в объекты
  • Загружать изображения из NSURL async с помощью RestKit
  • RestKit: Как разместить массив объектов?
  • Interesting Posts

    Autolayout в UIView, где безопасно запрашивать вычисленные значения макета?

    CATransform3D – вернуться в предыдущее состояние

    textLabel в UITableViewHeaderFooterView больше не доступен в iOS8?

    WhiteRaccoon Как его использовать?

    Звук не воспроизводится в push-уведомлениях

    OpenGLES2 iOS: как лучше всего потоковая анимация вершин для динамической местности?

    iOS – представление таблицы – статические ячейки (сгруппированные) – изменить цвет текста заголовка раздела

    jQuery Лайтбокс Кнопки Prev / Next, не отображаемые на iPad / iPod

    Когда я делаю центр масштабирования смещен в левое нижнее

    как предотвратить сохранение изображения с камеры снова

    Как получить средний цвет между двумя UIColors в iOS

    Опубликовать только приложение iOS с помощью sdk 3.1?

    Приложение не запускалось при разрешении iPhone при рассмотрении на iPad

    Как я могу эффективно моделировать объекты и компоненты в GameplayKit / SpriteKit

    Раскадровка против старого метода XIB

    Давайте будем гением компьютера.