私はコアデータをiPhoneで使用して元に戻すサポートを実装しようとしていますが、いくつかの問題がありました。コアデータを元に戻す管理
私は現在いくつかの管理対象オブジェクトを設定していますが、プロパティを変更すると、これらの変更は元に戻すマネージャによって記録されません。私の理解から、Core Dataはこれを自動的にセットアップすることになっており、管理対象オブジェクトの変更、作成、削除に対して基本的な取り消しとやり直しをサポートできるはずです。
オブジェクトを変更して、元に戻すマネージャによって記録される特別な方法はありますか?または、変更ごとに取り消しアクションを登録する必要がありますか?
また、アプリケーションが特定のオブジェクトを編集するための詳細ビューにスライドするとします。私はキャンセルボタンがヒットしたときに行われたすべての変更を取り消すことができるようにしたいと思います。ここでグループ化を元に戻すことはできますか?グループをコミットするときと、別の元に戻すマネージャが詳細ビューでより細かいアクションを管理するのに対して、1つの元に戻すマネージャ(管理されたオブジェクトコンテキストに含まれるマネージャ)を使用するだけの違いは何ですか?
ありがとうございます!
おかげでベン+1、素敵な簡潔な答え –
は、私は私のコードでアンドゥマネージャの作成や設定を持っていない、まだ元に戻すには、あたりの作品fectly。管理オブジェクトコンテキストにはすでに元に戻すマネージャがあります。必要なのは、ウィンドウ代理人に次のようなものを実装させるだけです。 ' - (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)ウィンドウ{ return [[DB managedObjectContext] undoManager]; } '。 –
@IvanVučicaこれはOSXフレームワークで作業するときに当てはまりますが、iOSフレームワークで作業しているときにはNSWindowなどはなく、軽量化のために管理対象オブジェクトには元に戻すマネージャーが付いていません。 – Intentss