我使用以下代码成功创建并保存了一个新的CoreData项目(在我的应用程序案例中,Notes):
let note = CoreDataHelper.newNote()
note.noteTitle = noteTitleTextField.text ?? ""
note.noteContent = noteContentTextView.text ?? ""
note.noteDate = Date() as NSDate
CoreDataHelper.saveNote()
但是会发生什么:
每次编辑现有应用程序时,应用程序都会创建一个新笔记。
我可以做些什么来区分:
以下是我所拥有的:
一个。在第一个View Controller(显示已保存Notes的列表的表)中,我有一个"准备Segue"功能:
在" displayNote" segue,我有这个代码:
if identifier == "displayNote" {
let noteDetailViewController = segue.destination as! DisplayNoteViewController
if let selectedNoteCell = sender as? ListNotesTableViewCell {
let indexPath = notesTableView.indexPath(for: selectedNoteCell)!
let selectedNote = notes[indexPath.row]
noteDetailViewController.note = selectedNote
我显示所选的音符没有问题。
B中。在" DisplayNoteViewController"本身(用户可以查看和编辑笔记),我有以下内容"准备Segue"功能:
if identifier == "saveNote" {
// if note exists, function should update title and content only; NOT create a new note
let note = CoreDataHelper.newNote()
note.noteTitle = noteTitleTextField.text ?? ""
note.noteContent = noteContentTextView.text ?? ""
note.noteDate = Date() as NSDate
CoreDataHelper.saveNote()
//此代码与上述代码相同。