1

エンティティ グループと連絡先の間に多対多の関係があります。1 つのグループに複数の連絡先を含めることができ、1 つの連絡先を複数のグループに含めることができます。

グループを削除する場合、グループが保持している連絡先へのすべての参照をどのように処理すればよいでしょうか?

私が見たように、2 つのオプションがあります。nullify ルールを使用するには、そのグループを持つ連絡先に対して、削除されたグループ参照を nil に設定します。しかし、この種のマイクロ管理の問題が発生します。次に、連絡先グループをリストするたびに、グループのいずれかがゼロであるかどうかを確認する必要があります。

したがって、私にとってより洗練された解決策は、グループが削除されたときに、連絡先オブジェクトからグループ参照を完全に (?) 削除して、グループの nil 値がまったく含まれないようにすることです。それは可能ですか?

4

1 に答える 1

5

しかし、この種のマイクロ管理の問題が発生します。次に、連絡先グループをリストするたびに、グループのいずれかがゼロであるかどうかを確認する必要があります。

いいえ。同様の質問に対するこの回答を参照してください。Groups->>Contacts と Contacts->>Groups の両方の関係の削除ルールを無効に設定した場合:

  • 連絡先を削除すると、その連絡先を含むすべてのグループからその連絡先が削除されます

  • グループを削除すると、そのグループに属するすべての連絡先からそのグループが削除されます

Foundation フレームワーク (NSArray、NSSet など) のコレクション オブジェクトは、「nil 値」を持つことはありません。NSNull シングルトンを値としてコレクションに格納すること可能ですが、それは nullify 削除ルールが行うことではありません。

あなたの状況では、無効化ルールが両方の関係に適しているようです。心配する必要があるのは、特定のグループに属するすべての連絡先を削除した場合、またはその逆の場合にどうなるかだけです. どのグループにも属さない連絡先は理にかなっていますが、連絡先を含まないグループはどうすればよいでしょうか? メンバーのいないグループがアプリにとって意味をなさない場合は、そのケースに対処する必要があります。

于 2012-05-14T21:08:44.393 に答える