背景:
我有一组数据,每个数据都有一个名为“类型”的属性。 “type”是一个字符串值数组,例如:
data1 = {"type": ["car", "truck", "plane"]}
在核心数据中,我将“类型”存储为Transformable
需要:
现在,我需要通过检查“类型”是否包含给定数组中的任何值来过滤这些数据,例如:
["pickup", "plane"]
所以,上一节中的data1应该是合格的。
问题:
谁能帮我找出一个有效的 NSPredicate 来获得我想要的东西?
我尝试了“CONTAINS”、“SUBQUERY”,但它们都不起作用。
非常感谢!!
最佳答案
没有这样的谓词。您不能使用可转换值作为谓词的一部分,除非(可能)您正在检查相等性。也就是说,如果您有一个数组并对其进行了转换,您应该能够过滤具有该精确值的对象。
转换后的值是一系列字节,在 iOS 应用程序中由 NSData
的实例表示。 .该字节 blob 不指示集合成员资格或任何其他更高级别的含义。这只是一些位。即使您转换了过滤器数组,也不能保证它会匹配这些字节的子部分。
如果您需要进行这种过滤,则需要重新考虑您保存数据的方式。理想情况下,您有一个名为 Type
的单独实体您可以在其中保存类型名称,并具有从当前实体到 Type
的一对多关系实体。
关于ios - 字符串过滤器的核心数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294459/