2017-10-09 80 views
1

我正在使用核心数据创建我的Notes应用程序。如何保存注释项修改

我使用下面的代码成功创建新的注释:

let note = CoreDataHelper.newNote() 
     note.noteTitle = noteTitleTextField.text ?? "" 
     note.noteContent = noteContentTextView.text ?? "" 
     note.noteDate = Date() as NSDate 
     CoreDataHelper.saveNote() 

但是,我怎么让用户节省现有注释的修改(与创建另一个新注)?

希望有人能帮忙。谢谢!

+0

你可以发布你的'Note'模型类吗?每个对象都需要一个唯一的ID,以便您知道是否有一个'Note'实例是新的。 – Glenn

+0

你必须通过一些属性来唯一识别它,从coredata中获取一张笔记。然后进行更改并再次保存。 – Aks

回答

0

我认为你有一个笔记模型(not managedObject类型),你可以做的是设置模型,当用户试图保存修改后的数据从coredata中找到并获取项目(注释)在所需的managedObjectContext中在id的帮助下,然后将这些属性设置为对获取的managedObject的修改。最后,managedObjectContext.save()将根据修改保存所有数据。这种方法对于用户将取消所有修改的场景实际上是有帮助的。

0

如果您正在使用现有笔记,您将首先从托管对象上下文中获取这些笔记。如果您在应用中显示现有笔记,那么您可能已经这样做了。以你想要更新的对象Note为准,并为note.noteContent分配一个新值。然后保存更改。不要创建新的笔记(如上面第一行所示) - 使用您在提取请求结果中找到的笔记之一。