区分添加和编辑CoreData项(注释)

时间:2017-10-05 06:29:44

标签: ios swift core-data swift3

我使用以下代码成功创建并保存了一个新的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"功能:

  • 添加新笔记(Segue =" addNote");和
  • 显示现有注释(Segue =" displayNote")

在" 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()

//此代码与上述代码相同。

0 个答案:

没有答案