2012-08-08 54 views
0

嗨,我對核心數據相當陌生,最近開始做一些教程。我已經通過核心數據成功添加了新數據,但我正在努力覆蓋數據。我有一個文本框,我希望能夠將寫入該文本框的文本保存爲核心數據。這就是我添加新數據的方式。任何人都能帶領我走向正確的方向嗎?覆蓋核心數據字段

謝謝

P.S.我相信這與我做「insertNewObjectForEntityForName」的方式

-(IBAction)saveData 
{ 

AppDelegate *appDelegate = 
[[UIApplication sharedApplication] delegate]; 

NSManagedObjectContext *context = 
[appDelegate managedObjectContext]; 
NSManagedObject *newContact; 
newContact = [NSEntityDescription 
       insertNewObjectForEntityForName:@"Gameinfo" 
       inManagedObjectContext:context]; 
[newContact setValue:[self valuefromtextfield] forKey:@"score"]; 
//[newContact setValue:@"mark" forKey:@"currentLevel"]; 
NSError *error; 
[context save:&error]; 

} 

回答

4

當您使用insertNewObjectForEntityForName要創建一個新實體做。如果你想編輯你需要一個現有實體

AppDelegate *app = [[UIApplication sharedApplication] delegate] 
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Gameinfo"]; 
NSError *error = nil; 
NSArray *someArray = [app.managedObjectContext executeFetchRequest:request error:&error]; 

然後someArray擁有所有命名它Gameinfo實體。找到你想要的並編輯你想要的任何屬性。然後在託管對象上下文上調用save

+0

葉..我誤解了這個問題。這個解決方案應該可行 – NSPunk 2012-08-08 19:44:56

+0

非常感謝!將接受 – 2012-08-08 20:08:17

+0

對不起,它不承認你說的「self.app」的部分。很顯然,我用適當的名稱替換了「app」,但沒有運氣。有什麼建議麼?再次感謝 – 2012-08-08 20:18:03