核心数据获取与瞬态关系谓词!=无
在我的实体中有一个临时的可选关系(不是相反的) 。 获取谓词
NSPredicate(format: "name LIKE\(option) (%@) AND tc!=nil", name)
没有给出结果,这不是预期的结果。 tc
是从另一个关系计算出来的。
如果AND和“AND”之后的部分被移除,则取得效果很好。
瞬态属性是这样实现的:
public var tc : TC? { self.willAccessValue(forKey: "tc") self.didAccessValue(forKey: "tc") return friend?.parent }
我注意到,这个tc
访问器内部的debugging断点没有打到 。 控制台中没有打印错误信息。
我错过了什么?
编辑:
读完Ron的评论后,我search了更多,发现:
-
与NSPredicate兼容的核心数据类似于瞬态的属性这对我来说不是一种select,因为实际的瞬态关系计算起来比较昂贵。
-
如何使用链式虚拟财产的NSPredicate?
-
NSPredicate不能使用计算字段
-
核心数据:使用瞬态属性作为标准进行search
具有瞬态属性的答案是一样的。
起初我没有find。 也许我太专注于nil
或relationship
。 只要不是暂时的,我们可以通过与nil
的关系来获取:
iPhone SDK的核心数据:获取所有实体与零关系?
苹果关于瞬态属性的文档在这里 。