如何查看核心数据实体的关系是否尚未设置?

时间:2015-02-06 15:24:25

标签: ios core-data

所以,假设我在该实体上有一个实体和一个关系,以及AttributeOne和AttributeTwo。如何查看关系是否已设置?

对于下面的代码,我确保预先获取我的关系以及我对实体的获取,这样我就知道我不只是为关系弄错了。

但无论关系是否已设定,if条件似乎都满足。

if (Entity.Relationship != nil) {

    DLog(@"The relationship has been set");

}

当我在控制台中运行po以查看关系的内容时,这就是我得到的:

(lldb) po Entity.Relationship
Relationship 'Relationship' on managed object (0x7c647370) <Entity: 0x7c647370> (entity: Entity; id: 0x7c1c5cf0 <x-coredata:///Entity/tBBC33E0E-6A88-45D4-B4DD-F96794A33F282> ; data: {
    Relationship =     (
    );
    "AttributeOne" = 1;
    "AttributeTwo" = 2;
}) with objects {(
)}

这告诉我,关系尚未设定,对我来说空洞。但是上面的if条件仍然满足,我做错了什么?

1 个答案:

答案 0 :(得分:2)

您似乎有一对多关系,由NSSet实例表示。它不是nil,而是设置为空NSSet

如果您想知道Relationship中是否有任何对象,您可以处理两种情况,检查关系的count

if(Entity.Relationship.count > 0) {

}