2013-07-23 30 views
1

我遇到了Core Data的问题。我有一个表格视图viewcontroller1,它是从我的核心数据模型中的数据填充的数组填充的。当一个单元格被选中时,它会推送到viewcontroller2,在那里你可以查看保存的数据。从那里,我有一个名为“编辑”的按钮,当选中时,将执行一个模式跳转到viewcontroller3,您可以在其中编辑该数据。这里是我保存编辑数据的代码。核心数据不存在

//editModel 

[self.editModel setValue:self.editNameTextField.text forKey:@"name"]; 
[self.editModel setValue:self.editTextView.text forKey:@"text"]; 
[self.editModel setValue:[NSDate date] forKey:@"date"]; 

NSError *error; 
if (![[self.delegate managedObjectContext] save:&error]) 
{ 
    NSLog(@"Can't save the edit: %@", [error localizedDescription]); 
} 

if (self.delegate) 
    [self.delegate dismissEdit:self]; 
else 
    NSLog(@"There is no delegate"); 

然而,每当我试图调用此,我得到的NSLog:Can't save the edit: (null)

viewcontroller2反映的变化;正如viewcontroller1中的表格视图一样。但是,当我退出iOS模拟器并再次运行它时,我只能在编辑过程之前获取数据。帮帮我?

+0

是委托返回的管理对象范围内? – Wain

+0

@是的 - 是的,它的确如此。 –

+3

检查?尝试'[self.editModel.managedObjectContext保存:&错误]' – Wain

回答

0

最有可能的管理对象上下文不能由delegate提供。而不是从delegate得到它,每个被管理对象涉及到管理对象上下文中的链接,它被添加到,所以你可以这样做:

[self.editModel.managedObjectContext save:&error]