所以,假设我在该实体上有一个实体和一个关系,以及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条件仍然满足,我做错了什么?
答案 0 :(得分:2)
您似乎有一对多关系,由NSSet
实例表示。它不是nil
,而是设置为空NSSet
。
如果您想知道Relationship
中是否有任何对象,您可以处理两种情况,检查关系的count
:
if(Entity.Relationship.count > 0) {
}