我尝试像原生Apple Notes一样构建应用程序。我有一个问题\问题。 在Apple笔记中,当您再次打开现有笔记并从中删除所有文本时 - 请注意删除核心数据中的删除和数据。我该怎么做?应用程序的第一个视图 - 笔记列表和第二个视图 - 注释。我无法理解如何删除该对象,我需要什么。例如:当我从列表中看到的segue看起来像那样:
-(void) prepareForSegue:(UIStoryBoardSegue *)segue sender:(id)sender{
NoteDetailVC *destViewController = segue.destinationViewController;
if([[segue identifier] isEqualToString:@"ShowNote"]){
NSManagedObject *selectedNote = [self.notes objectAtIndex[[self.tableView indexPathForSelectedRow] row]];
destViewController.selectedNoteInfo = selectedNote;
}
}
在NoteDetailVC中我与数据进行交互:
if (selectedNoteInfo){
// bla bla bla code
}
在创建时,我使用setValue:
命令。我理解在设置新值之前如何在不保存数据的情况下解除控制器。但是不明白如何从核心数据中删除已存在的对象。如何检查我需要的索引等?请帮忙! : - )
再次抱歉我的英语:)
答案 0 :(得分:1)
这是我采取的方法,因为我正确理解你的问题。
当用户选择创建新笔记时,请创建NSManagedObject以表示该笔记。
Note *newNote = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:self.context];
当他们返回列表或按完成...在prepareForSegue:sender:
中检查笔记的内容。
if (note.contents.length == 0) {
[self.context deleteObject:note];
}
[self.context save:&error]