您好,我是核心数据的新手,最近开始做一些教程。我已经通过核心数据成功添加了新数据,但正在努力覆盖数据。我有一个文本字段,我希望能够将在该文本字段中写入的文本保存到核心数据中。这就是我添加新数据的方式。谁能引导我朝着正确的方向前进?
谢谢
附言我相信这与我执行“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];
}
最佳答案
当您使用 insertNewObjectForEntityForName
时,您正在创建一个NEW 实体。如果您想编辑一个现有实体,您需要
AppDelegate *app = [[UIApplication sharedApplication] delegate]
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Gameinfo"];
NSError *error = nil;
NSArray *someArray = [app.managedObjectContext executeFetchRequest:request error:&error];
然后 someArray
中包含所有名为 Gameinfo
的实体。找到你想要的那个并编辑你想要的任何属性。然后在托管对象上下文中调用 save
。
关于objective-c - 覆盖核心数据字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871817/