覆盖核心数据字段

时间:2012-08-08 19:31:04

标签: objective-c ios xcode

您好我对核心数据还不熟悉,并且最近开始做一些教程。我已经通过核心数据成功添加了新数据,但我正在努力覆盖数据。我有一个文本字段,我希望能够将该文本字段中写入的文本保存到核心数据。这就是我添加新数据的方式。谁能引导我朝着正确的方向前进?

谢谢

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];

 }

1 个答案:

答案 0 :(得分: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