Мне нужна небольшая помощь в KVC.KVC: как проверить существующий ключ
Несколько слов о рабочем контексте:
1) iPhone подключается (клиент) к WebService, чтобы получить объект,
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» не является ключом va lue для кодирования для ключа «myNewKey»
Не могли бы вы предложить мне, как проверить наличие ключа в объекте, поэтому, если ключ существует, я могу перейти к обновлению значения, избегая ошибки сообщение?
Извините, если я немного запутался в моем контексте.
Благодаря
Дарио