有一个对象A和一个对象B.对象B有一个属性是可转换的类型(图像),一个关系是对象A.对象A 可以有关系只有一个,对象B,或者它可能没有。
当我通过我的对象A数组枚举时,我想检查每个对象A是否有一个对象B.但是,我不想为对象B(它将调用反向imageToData NSValueTransformer)触发错误。我只是想知道它是否存在。如何在不将对象B放入内存的情况下执行此操作?
答案 0 :(得分:7)
我认为你可以试试
if (objectA.relationshipToB != nil) ...
这不会触发相关B
对象的错误,因为您没有访问其属性。
答案 1 :(得分:0)
在斯威夫特,我得到了一个
找不到接受提供的参数
的'!='的重载
错误。我的关系已正确标记为可选但在生成的NSManagedObject
我的@NSManaged
媒体资源中没有?
。因此针对nil
的此检查失败了。我添加了?
然后我可以检查是否存在这种关系。
之前(不起作用)
@NSManaged var myRelationShip: MyClass
之后(工作)
@NSManaged var myRelationShip: MyClass? // <--- Added `?`