3

2 つのエンティティ (セッションとユーザー) があります。セッション エンティティには、User エンティティへの LoggedInUser 関係があります。また、User エンティティは、Session エンティティとセッション逆の関係にあります。

Xcode は、直接関係と逆関係の両方について、retain 属性を持つプロパティを生成します。オブジェクトグラフの観点からは大丈夫ですか?私の理解では、逆の関係は割り当てプロパティとして表す必要があります。

また、スキーマ エディターでは、どの関係がメインの関係であるかは表示されません (つまり、loggedInUser はその逆としてセッションを持ち、セッションの逆はloggedInUser です)。

多分私は何かを逃していますか?

ありがとう。

4

1 に答える 1

2

理由自体は実際には説明していませんが、コアデータの状態に関するAppleのドキュメント

常に非アトミックであることに加えて、動的プロパティは保持属性またはコピー属性のみを尊重します。割り当ては保持として扱われます。オーバーヘッドが増えるため、copy は慎重に使用する必要があります。NSManagedObject は NSCopying プロトコルを採用しておらず、対多関係の動作とは無関係であるため、関係にコピーを使用することはできません。

したがって、関係を設定したとしても、それを読むことで、次のassignように扱われますretain

于 2011-10-30T17:11:41.417 に答える