【问题标题】:Having an NSManagedObject property of type of another NSManagedObject具有另一个 NSManagedObject 类型的 NSManagedObject 属性
【发布时间】:2014-01-13 12:21:39
【问题描述】:

我查看了 SO,但奇怪的是没有找到类似的问题。 所以问题是:如果我有一个名为 A 的实体和一个名为 B 的实体,B 对象可以具有 A 类型的属性吗?不是关系,而是属性。我当然可以将关系用作属性,但在我的情况下,我需要一个 A 对象来拥有一个 A 对象类型的属性。例如 实体称为人类。还有一个叫做 child 的属性,它也是一个 Human。

Human* parent=[Nsentity....bla bla
Human* child=parent.child;

有没有办法不使用可转换属性来做到这一点?我尝试了与自我的非反向关系,但它发出了警告,我很害怕它毕竟会一团糟。因为在我的情况下,“父母”和“孩子”可能是完全相同的对象。所以 parent.child 可能等于 parent

【问题讨论】:

    标签: core-data entity nsmanagedobject datamodel


    【解决方案1】:

    “自我”关系无法预防。

    实体 A 可能与实体 A 或其任何后代(或任何其他实体)存在关系(一对一或一对多)。

    像这样定义A(对于一对一的关系):
    父母(与逆A->child的关系)
    孩子(与逆A->parent的关系)

    您可能不希望这是一个属性,因为 CoreData 不会将其作为对象图的一部分进行维护(级联规则等)。

    【讨论】:

    • 所以我应该忽略关于 no inverse 的警告?
    • 或者只是添加逆
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多