Мне нужна небольшая помощь о KVC.
Несколько слов о рабочем контексте:
1) iPhone подключается (клиент) к веб-службе, чтобы получить объект,
2) я использую JSON для передачи данных,
3) Если у клиента точно такое же сопоставление объектов, я могу выполнить итерацию по NSDictionary из JSON, чтобы сохранить данные в постоянном хранилище (coreData). Для этого я использую этот фрагмент кода (предположим, что все данные являются NSString):
NSDictionary *dict = ... dictionary from JSON
NSArray *keyArray = [dict allKeys]; //gets all the properties keys form server
for (NSString *s in keyArray){
[myCoreDataObject setValue:[dict objectForKey:s] forKey:s]; //store the property in the coreData object
}
Теперь моя проблема....
4) Что произойдет, если сервер реализует новую версию объекта с 1 новым свойством. Если я передаю данные клиенту, а клиент не находится на уровне сохраненной версии (это означает, что все еще используется «старое» сопоставление объектов) я попробую присвоить значение несуществующему ключу... и у меня будет сообщение:
сущность "myOldObject" не соответствует кодированию значения ключа для ключа "myNewKey"
Не могли бы вы предложить мне, как проверить наличие ключа в объекте, чтобы, если ключ существует, я мог перейти к обновлению значения, избегая сообщения об ошибке?
Извините, если я немного запутал в своем объяснении контекста.
Спасибо
Дарио