0

我试图构建像原生 Apple Notes 这样的应用程序。我有一个问题\问题。在苹果笔记中,当您再次打开已经存在的笔记并从中删除所有文本时 - 删除笔记和删除核心数据中的数据。我该怎么做?应用程序的第一个视图 - 笔记列表,第二个视图 - 笔记。我不明白如何删除该对象,我需要什么。例如:当我从列表到笔记的转换看起来像这样时:

-(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:命令和其他。我了解在设置新值之前如何在不保存数据的情况下关闭控制器。但是不明白如何从核心数据中删除已经存在的对象。如何检查我需要什么索引等?请帮忙!:-)

再次为我的英语感到抱歉:)

4

1 回答 1

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]
于 2013-05-16T20:38:03.417 回答