ios - 字符串过滤器的核心数据数组

标签 ios core-data

背景:

我有一组数据,每个数据都有一个名为“类型”的属性。 “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/

相关文章:

ios - dispatch_get_current_queue() 已弃用,是否有安全 CoreData 的替代方案?

ios - 将 NSManagedObject 设为委托(delegate)是一种好习惯吗?

swift - 将 plist 加载到核心数据中

iphone - 将 plist 读入核心数据 - NSDictionary 中的 NSDictionary

iOS:在触摸事件上从 UIView 发送信号?

ios - 为什么标签栏项目只显示没有图标的标题?

ios - 带有 displaySearchBarInNavigationBar 的 UISearchDisplayController 使用 navigationBar.translucent = false 将结果 View 向下推

ios - 如何将发射器节点移到前面?

ios - 使用 AFnetworking 上传图像没有任何响应

ios - 在 iOS 中处理两个屏幕和一个事件指示器