4

lastModifiedオブジェクトをサーバーに送信する必要があり、日付/時刻と日付/時刻を表示して、オブジェクトを送信する必要があることをユーザーに示したいと考えていますlastSubmitted

(はい、記録は手動で提出する必要があります。)

私は現在 をリッスンしておりNSManagedObjectContextObjectsDidChangeNotification、オブジェクトのエンティティがRetailLocationであるかどうかを確認しています。そうであれば、その日付/時刻を設定していlastModifiedます (もちろん、lastModified変更されているプロパティが だけではない場合のみ)。これは元に戻すマネージャーを非常に混乱させるように見えるので、プロパティperformSelector:SOMESEL withObject:retailLocation afterDelay:0.0を設定するために使用しlastModifiedます。

悲しいことに、これはさらに悪いことです。これにより、元に戻すスタックに 2 つのアクションが追加されます。

lastModifiedCore Data で管理されたレコードに属性を実装するための良い方法を誰かが推奨できますか? または、何が欠けていますか?

4

1 に答える 1

1

変更日を取り消し可能にしたくない場合は、変更を行うdisableUndoRegistration前と完了時に NSUndoManagerを呼び出すことができenableUndoRegistrationます。

必要な場合は、NSManagedObjectContext を呼び出して NSUndoManager へのポインターを取得できますがundoManager、iOS で作業している場合は、既に 1 つ持っている必要があります。

NSManagedObjectContextWillSaveNotificationまた、変更が必ずしも保存されるとは限らないため、Apple では通知を使用することを推奨しています。

于 2013-03-18T00:21:55.053 に答える