字符串过滤器

时间:2016-05-18 08:43:30

标签: ios core-data

背景:

我有一组数据,每个数据都有一个名为“type”的属性。 “type”是一个String值数组,如:

data1 = {"type": ["car", "truck", "plane"]}

在核心数据中,我将“type”存储为Transformable

需要:

现在,我需要通过检查给定数组中是否有“type”包含ANY值来过滤这些数据,例如:

["pickup", "plane"]

所以,上一节中的data1应该是合格的。

问题:

任何人都可以帮我找出一个可行的NSPredicate来获得我想要的东西吗?

我试过“CONTAINS”,“SUBQUERY”,但没有一个能奏效。

非常感谢!!

1 个答案:

答案 0 :(得分:1)

没有这样的谓词。您不能将可转换值用作谓词的一部分,除非(可能)如果您要检查相等性。也就是说,如果您有一个数组并对其进行了转换,那么您应该能够过滤具有该确切值的对象。

转换后的值是一系列字节,在iOS应用中由NSData的实例表示。此字节blob没有设置成员资格或任何其他更高级别含义的指示。它只是一点点。即使你改变了你的滤波器阵列,也不能保证它会匹配那些字节的子部分。

如果您需要进行此类过滤,则需要重新考虑如何保存数据。理想情况下,您有一个名为Type的单独实体,您可以在其中保存类型名称,并且具有从当前实体到Type实体的多对多关系。