2012-01-03 158 views
0

我想保存JSON響應本地核心數據爲我的應用程序。我下面以下實現此: https://stackoverflow.com/a/2363996/127036JSON核心數據

這裏是我的代碼:

NSString *objectName = @"Post"; 
NSManagedObject *managedObject = [NSEntityDescription insertNewObjectForEntityForName:objectName inManagedObjectContext:moc]; 
[managedObject setValuesForKeysWithDictionary:structureDictionary]; 

編譯器返回以下錯誤:

-[__NSCFDictionary entity]: unrecognized selector sent to instance 0x6dc6fa0 

雖然試圖執行:

setValuesForKeysWithDictionary 

請引導我在正確的方向f ix這個問題。

+0

你的'structureDictionary'裏有什麼? – iHunter 2012-01-03 20:24:23

回答

0

我沒有看到setValuesForKeysWithDictionary在開發中心爲NSManagedObject

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html

您可能需要通過循環和做他們一個在用的setValue時間:forKey:

+0

setValuesForKeysWithDictionary是NSKeyValueCoding協議的一部分:http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html – 2012-01-03 19:35:38

0

這個職位現在已經很老了,我確信Vibhor Goyal已經開始了。但是,在任何情況下,運行到同樣的問題,之所以他得到

-[__NSCFDictionary entity]: unrecognized selector sent to instance 

是因爲在他的崗位的模式,我相信他有子實體,大概就像「意見」,這可能是去往 - 許多關係到「評論」模型。

然後,在他的結構Dictionary中,他可能有對應於他的Post模型的常用鍵值字段,對於「註釋」鍵,他可能有一個NSSet的NSDictionaries值。

因此,他得到那個實體選擇器錯誤的原因是因爲在覈心數據期望「註釋」是一個填充了「註釋」實例的集合,它們應該是NSManagedObject的實例,但實際上它是獲取NSDictionary的實例。所以當它從每個「註釋」中要求「實體」時,它會拋出無法識別的選擇器錯誤。

希望這可以幫助未來的人。