2017-10-09 58 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分配一個新值。然後保存更改。不要創建新的筆記(如上面第一行所示) - 使用您在提取請求結果中找到的筆記之一。