核心数据谓词:UTI 一致性

Core Data Predicate: UTI Conformance

我有一个关于构建 NSPredicate 以从 SQLite 支持的核心数据存储中获取实体的问题:

我的一个实体有一个名为 "uti" 的字符串类型属性。是否可以构造一个谓词来匹配 "uti" 是否符合另一个 UTI?

查看文档后我试过:

NSPredicate(format: "uti UTI-CONFORMS-TO %@", aUti)

但这似乎不受支持。

提前致谢!

你是对的,这是不支持的。

一种解决方案是自行跟踪支持的 UTI。您可以下载 UTI 目录的相关部分(即您的应用程序所需的任何内容,例如 public.image)并通过向指向所有支持的 UTI 的实体添加一对多关系来跟踪它们。这些可以由只有一个简单字符串属性的实体表示。您可以覆盖 uti 属性 的 setter 以自动执行此操作。