我遵循教程如何使用核心数据,现在具体说明如何在核心日期更新。
所以我有一个简单的笔记应用程序,我想在用户点击表格视图中的单元格时更新核心数据(意味着他想要编辑现有笔记,而不是点击加号按钮来创建新笔记)
因此,他们在备注列表prepareForSegeue的教程中建议我创建一个创建注释视图控制器的实例并设置一个NSManagedObject实例并传递注释(我确实将NSManagedObject的属性添加到创建视图controller.h)并将它传递给它(作为NSManagedObject)。
像这样:
NSManagedObject *selectedNote = [self.notes objectAtIndex:[self.tableView indexPathForSelectedRow].row];
destination.editNote = selectedNote;
当我保存数据时,我会执行此检查:
if (self.editNote) {
[self.editNote setValue:self.myTextView.text forKey:@"content"];
} else {
// creating a new managed object
NSManagedObject *newNote = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:context];
[newNote setValue:self.myTextView.text forKey:@"content"];
}
现在我的问题是,在将editedNote分配给创建视图控制器属性后,当我返回到备注列表时,它是否设置回nil
?
因为如果每次执行此检查时都没有:
if (self.editNote)
它不会没有...... 那么它每次如何知道它是否有不同的音符?