有一个对象 A 和一个对象 B。对象 B 具有一个可类型转换的属性(图像),以及一个与对象 A 的关系。对象 A可能与一个且只有一个对象 B 有关系,或者它可能不会。
当我枚举我的对象 A 数组时,我想检查每个对象 A 是否有一个对象 B。但是,我不想触发对象 B 的故障(这将调用反向 imageToData NSValueTransformer)。我只是想知道它是否存在。如果不将对象 B 带入内存,我该如何做到这一点?
有一个对象 A 和一个对象 B。对象 B 具有一个可类型转换的属性(图像),以及一个与对象 A 的关系。对象 A可能与一个且只有一个对象 B 有关系,或者它可能不会。
当我枚举我的对象 A 数组时,我想检查每个对象 A 是否有一个对象 B。但是,我不想触发对象 B 的故障(这将调用反向 imageToData NSValueTransformer)。我只是想知道它是否存在。如果不将对象 B 带入内存,我该如何做到这一点?
我想你可以测试一下
if (objectA.relationshipToB != nil) ...
这不会触发相关B
对象的错误,因为您不访问它的属性。
在斯威夫特我有一个
找不到接受提供的参数的“!=”的重载
错误。我的关系被正确标记为可选,但在生成的NSManagedObject
我的@NSManaged
属性?
之后没有。所以这个检查nil
失败了。我添加了?
,然后我可以检查关系是否存在。
之前(没用)
@NSManaged var myRelationShip: MyClass
之后(工作)
@NSManaged var myRelationShip: MyClass? // <--- Added `?`