Имам нужда от малко помощ относно 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" не е съвместим с кодиране на стойност на ключ за ключа "myNewKey"
Бихте ли ми предложили как да тествам за съществуването на ключ в обекта, така че, ако ключът съществува, да мога да продължа към актуализацията на стойността, като избягвам съобщението за грешка?
Съжалявам, ако съм бил малко объркващ в моето контекстно обяснение.
Благодаря
Дарио