私は最近MagicalRecordをかなり使用していますが、これによりCore Dataの作業がはるかに簡単になり、高品質のライブラリとは何かという作者の功績が認められます。
とにかく、シナリオは、3つのコントローラーのナビゲーションコントローラースタックがあり、ここでは下から上にABCと呼ばれています。
- ビューコントローラAは、エンティティに関する詳細(つまり、そのプロパティ)を入力するフォームです。
- ビューコントローラBは、エンティティからの計算結果を表示します(たとえば、インスタンス関数を介して)。
- 簡単にするために、View Controller Cは単なる確認であり、エンティティを保存したい場所です。
MagicalRecordに[MyEntity createEntity]
、プロパティが設定されたView Controller Aを呼び出し、Bを介してCに渡し、Cにのみ保存する方法はありますか?これには、ユーザーがBまたはCからAに戻ることを決定した場合に、それをまったく保存しない可能性も含まれます。
Core Dataでスティックの端が間違っている可能性があり、それが不可能な可能性があることを十分に理解しています。回避策として、関連するパラメーターを指定して同じ計算を実行し、すべてのパラメーターをAからCまでスタックに渡すことができるクラスメソッドを作成できることはすでにわかっています。
編集:明確にするために、ViewControllerCを呼び出し[[NSManagedObjectContext defaultContext] save]
ます。