Получается, что когда вы используете метод postObject
или putObject
, RestKit автоматически попытается отобразить результат json в опубликованный исходный объект. По словам Блейка, это необходимо для объектов без поддержки Core Data, чтобы вам не приходилось создавать экземпляр нового объекта.
Однако в моем сценарии, где я пытаюсь отобразить 3 ключа json верхнего уровня в существующие сопоставления с объектами, поддерживаемыми основными данными, это не имело смысла.
Получается, что вам нужно просто исключить targetObject
, а затем вступит в действие стандартное сопоставление код-значение-ключ (при условии, что ваши корневые объекты правильно введены в json).
Если вам все еще нужны методы делегата для запуска, вы можете установить loader.delegate
[objectManager postObject:guestCard usingBlock:^(RKObjectLoader *loader){
loader.targetObject = nil;
loader.delegate = self;
}];