我需要一些關於KVC的幫助。KVC:如何測試現有密鑰
有關操作上下文幾句:
1)iPhone連接(客戶端)到WebService獲取對象,
2)我使用JSON來傳輸數據,
3)如果客戶端有完全相同的對象映射,我可以遍歷JSON中的NSDictionary以將數據存儲在永久存儲區(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爲密鑰「myNewKey」符合lue編碼
您能否建議我如何測試對象中是否存在該鍵,如果該鍵存在,則可以繼續進行值更新以避免錯誤信息 ?
對不起,如果我在我的上下文解釋有點困惑。
感謝
達里奧