3

私は買い物リスト アプリに取り組んでおり、エンティティへの変更を監視し、他のエンティティに変更を加えて対応する必要がある場合がいくつかあります。例えば:

新しい店舗エンティティが追加されたら、関連する通路エンティティを作成する必要があります。

食品の数量が 0 または >0 に変更された場合、その商品に関連する状態フラグを設定する必要があります (フラグには 2 つ以上の状態があるため、フラグを削除して 0 をテストすることはできません)。 .

私がこれまでに読んだことに基づいて、キー値の監視と NSManagedObjectContextObjectsDidChangeNotification への登録のどちらを使用するかの選択肢があるようです。私が確信していないのは、どちらが私のシナリオにより適しているかです (または、関連するエンティティ クラスの適切なメソッドをオーバーライドする必要がある場合)。これらをいつ使用するかについてのポインタやドキュメントをいただければ幸いです。

4

2 に答える 2

3

フラグが数量情報から派生したプロパティの一種である場合、最善のアプローチは、管理対象オブジェクトサブクラスの数量のセッターをオーバーライドし、そこでフラグを更新することです。フラグはモデルプロパティであるため、KVOを使用している、または通知に応答しているView Controllerやその他の非モデルオブジェクトではなく、モデル内でその値に責任を持つことは理にかなっています。

于 2012-09-14T15:52:05.267 に答える
0

通知の代わりにNSFetchedResultsControllerを使用できます。また、これらの新しいレコードを追加するクラス メソッドを持つようにエンティティを変更し、必要なその他の変更を管理することもできます。

于 2012-09-14T15:23:55.607 に答える