以编程方式检查核心数据实体是不是被索引

Posted

技术标签:

【中文标题】以编程方式检查核心数据实体是不是被索引【英文标题】:Programmatically check if Core Data entities are indexed以编程方式检查核心数据实体是否被索引 【发布时间】:2014-06-02 10:57:43 【问题描述】:

我目前正在使用位于 Core Data 和 sqlite 数据库之间的库(即它处理大量 Core Data 调用,并将它们转换为 SQL 查询)。 我注意到在创建 sqlite 表时,它不会添加任何索引。我已尝试添加此功能,但看不到核心数据模型“索引复选框”属性的存储位置。

我可以访问每个 NSEntityDescription 和 NSAttributeDescription,我认为这将是列出“索引”属性的位置。但是,compoundIndexes 数组为 nil,并且似乎没有其他索引属性。

【问题讨论】:

【参考方案1】:

NSPropertyDescription 有一个isIndexed 属性。 (NSAttributeDescription 是 this 的子类。)

【讨论】:

我以为我错过了一些简单的事情。事实证明我是对的。

以上是关于以编程方式检查核心数据实体是不是被索引的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将核心数据实体中的项目放入 NSOutlineView?

如何在核心数据中以编程方式创建超类/子类?

检查实体是不是在外部表中被引用并获取实体

核心数据:未在子实体上创建复合索引

iOS:检查值是不是与核心数据中实体的任何属性匹配?

添加然后删除索引后核心数据错误“错误配置的实体:在复合索引属性中...不是有效属性”