这是我的代码,
hand
是实体,addRounds
是一个文本字段
-(IBAction)save{
[self dismissViewControllerAnimated:YES completion:nil];
[self.hand setValue:self.addRounds.text forKey:@"rounds"];
NSError *error;
if (![self.managedObjectContext save:&error]) {
//Handle Error
}
NSLog(@"%@", self.addRounds.text);
NSLog(@"%@", self.hand.rounds);
}
控制台输出
2012-11-25 16:51:18.847 App[3187:c07] 1
2012-11-25 16:51:18.848 App[3187:c07] (null)
所以,由于某种原因,它没有正确保存。谁能帮帮我!谢谢你!
-(IBAction)save{
if (self.managedObjectContext == nil)
{
self.managedObjectContext = [(RootAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
Hand *hand = [NSEntityDescription insertNewObjectForEntityForName:@"Hand" inManagedObjectContext:self.managedObjectContext];
[self dismissViewControllerAnimated:YES completion:nil];
hand.rounds = nil;
self.managedObjectContext = self.app.managedObjectContext;
NSError *error;
if (![self.managedObjectContext save:&error]) {
//Handle Error
}
}
编辑
所以基本上总共有4个视图。1) 使用表格视图查看,用户可以按“+”按钮 2) 此视图允许用户向表格视图添加单元格 3) 允许用户edit
查看表格视图单元格 4) 这是一个完全不同的视图,它还允许用户编辑表格视图单元格。
我使用问题顶部的代码保存在两个视图3 & 4
中。它在视图 3 但不是 4 中完美运行!
更新!!!
因此,我重新编码了应用程序,以便视图 1 和 4 是应用程序中仅有的两个视图。当我push
在视图 1 和 4 之间查看 2 和视图 3 时,它会将我的 managedObjectContext 的rounds
属性设置为null
.