0

嗨,我对核心数据相当陌生,最近开始做一些教程。我已经通过核心数据成功添加了新数据,但正在努力覆盖数据。我有一个文本字段,我希望能够将在该文本字段中写入的文本保存到核心数据。这就是我添加新数据的方式。谁能带领我朝着正确的方向前进?

谢谢

PS我相信这与我做“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

1 回答 1

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托管对象上下文。

于 2012-08-08T19:42:36.753 回答