为什么Xcode不显示CoreData实体和属性的索引选项?

时间:2017-08-28 15:17:49

标签: ios xcode core-data indexing deprecated

在Xcode 9(beta 6)中,数据模型检查器(.xcdatamodeld文件)中缺少索引选项:

enter image description here enter image description here

它们在Xcode 8中可见:

enter image description here enter image description here

你知道这个决定背后的原因吗?

2 个答案:

答案 0 :(得分:48)

正如@tomharrington所说,解决方案是在WWDC 2017视频中:索引的内容从10:32开始,演示在16:40开始。

仍然可以通过Xcode9创建和索引:

  • 首先,选择您的实体,长按+(添加实体),然后选择添加获取索引。

first step

  • 然后,适当地命名索引,选择要索引的属性(并选择升序或降序,具体取决于数据的组织方式) second step

  • 最后,正如视频中所述,这不会触发迁移,更新应用的用户将无法获取您的索引。如果要强制进行模型迁移,请通过选择实体并设置右侧面板>添加哈希修改器。第三个标签>版本控制>哈希修改器。 optionally, third step

答案 1 :(得分:10)

iOS 11中不推荐使用简单索引,Xcode 9 UI反映了这一点。这来自NSPropertyDesciption的文档:

isIndexed deprecated

在2017年WWDC上,What's New in Core Data会话描述了一个新的索引API。看看那个会话。