-1

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 に答える