3

我有两个实体(会话和用户)。会话实体与用户实体有loggedInUser 关系。并且用户实体与会话实体具有会话反向关系。

Xcode 为直接和反向关系生成具有保留属性的属性。从对象图的角度来看可以吗?我的理解是反向关系应该表示为分配属性。

此外,在模式编辑器中,哪个关系是主要关系是不可见的(即,loggedInUser 将 session 作为其逆,而 session 的逆是 loggedInUser)。

也许我错过了什么?

谢谢。

4

1 回答 1

2

并没有真正解释为什么会这样,而是 Apple docs for Core Data state

除了始终是非原子的之外,动态属性仅支持保留或复制属性——assign 被视为保留。您应该谨慎使用副本,因为它会增加开销。您不能将副本用于关系,因为 NSManagedObject 不采用 NSCopying 协议,并且它与对多关系的行为无关。

因此,即使您确实设置了关系,通过阅读assign它也会被视为retain

于 2011-10-30T17:11:41.417 回答