从其他视图中删除现有数据

时间:2013-05-16 15:32:29

标签: ios core-data storyboard

我尝试像原生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:命令。我理解在设置新值之前如何在不保存数据的情况下解除控制器。但是不明白如何从核心数据中删除已存在的对象。如何检查我需要的索引等?请帮忙! : - )

再次抱歉我的英语:)

1 个答案:

答案 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]