2

データベース内の「ビジネス ロジック」の多くを保持するために、コア データ構造の多くのセッターをオーバーライドします。コア データ内の対多関係のセッター メソッドをオーバーライドする最良の方法は何ですか? 「モノ」と呼ばれる関係のセッター関数には、次のものが含まれているようです。

- (void)addThingsObject:(Thing *)value;
- (void)removeThingsObject:(Thing *)value;
- (void)addThings:(NSSet *)value;
- (void)removeThings:(NSSet *)value;

これら 4 つの関数すべてをオーバーライドする必要がありますか? これをきれいに行うためのベストプラクティスは何ですか? 逆の関係がある場合、逆の関係が適切に設定されていることを確認するために、セッター内で何かを行う必要がありますか?

4

2 に答える 2

1

MoGeneratorを見てください。コア データ内のエンティティごとに 2 つのクラスが作成されます。そのうちの 1 つを使用して、エンティティを管理するカスタム コードを記述します。

于 2012-11-04T12:38:59.853 に答える
0

私の経験から、xCode が作成するメソッドをオーバーライドすると、可能性が制限されます。メソッドを追加する必要があるクラスごとにカテゴリを作成し、関心のあるメソッドのみを追加する方がはるかに保守性が高くなります。たとえば、オブジェクトを置き換えたい場合replaceThingObject:(Thing*)obj1 withThingObject(Thing*)obj2は、カテゴリにメソッドを追加します。置換だけでなく、追加または削除にも同じことが言えます。xCodeで生成されたコードをフォローアップするためだけにそれらをすべて実装するのは、それらが必要ない場合はクレイジーです...

于 2012-11-04T12:39:18.107 に答える