我在一个选项卡中有一个带有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
}
答案 0 :(得分:1)
NSPersistentDocument
负责所有保存操作,撤消操作等。这是本课程的全部目的。没有必要向Core Data推送任何东西。只需将您的NSTextView
值绑定到Core Data属性即可。
最好删除对saveText()
功能的所有来电。
答案 1 :(得分:-1)
如果saveData()
有效,而saveText()
没有,可能您应该拨打saveData()
。
保存文本字段的正确位置是textFieldDidEndEditing:
,一种文本字段委托方法。