-1

我在一个选项卡中有一个带有 NSTextView 的 NSTabViewController。文本保存在核心数据中。当视图消失时,我保存文本。

override func viewWillDisappear()
{
    super.viewWillDisappear()
    self.saveText()
}

但是当文档本身关闭时如何保存文本?目前我节省了每次击键,但这可能太过分了。有没有更好的办法?

func textDidChange(notification: NSNotification)
{
    self.saveText() //save text after every keystroke => excessive but works
}

编辑:

func saveText()
{
    guard let assumedObject = self.representedObject as? NSManagedObject else { return }
    assumedObject.notes = self.textView.string
}
4

2 回答 2

1

NSPersistentDocument负责所有保存操作、撤消等。这是这个类的全部目的。无需向 Core Data 推送任何内容。只需将您的NSTextView值绑定到 Core Data 属性,就是这样。

最好删除对您的saveText()函数的所有调用。

于 2016-03-30T20:22:19.047 回答
-1

如果saveData()有效,而saveText()无效,也许你应该打电话saveData()

保存文本字段的正确位置是在textFieldDidEndEditing:文本字段委托方法中。

于 2016-03-26T19:18:47.367 回答