为什么 Xcode 不显示 CoreData 实体和属性的索引选项?
Why Xcode does not show index options for CoreData entities and attributes?
在 Xcode 9(测试版 6)数据模型检查器(.xcdatamodeld
文件)中缺少索引选项:
它们在 Xcode 8:
中可见
你知道这个决定背后的原因是什么吗?
简单索引在 iOS 11 中被弃用,Xcode 9 UI 反映了这一点。这是来自 NSPropertyDesciption
:
的文档
在 WWDC 2017 上,What's New in Core Data session 描述了一个新的索引 API。 session 看看。
正如@tomharrington 所说,解决方案在 WWDC 2017 视频中:索引内容从 10:32 开始,演示在 16:40。
仍然可以通过 Xcode9 创建和索引:
- 首先,select您的实体,长按 +(添加实体),然后 select 添加 Fetch Index。
然后,适当地命名您的索引,select 您要建立索引的 属性(并选择升序或降序,具体取决于数据的组织方式)
最后,如视频中所述,这不会触发迁移,更新您的应用的用户将不会获得您的索引。如果要强制模型迁移,请通过 selecting 实体添加哈希修饰符,然后设置右面板 > 第三个选项卡 > 版本控制 > 哈希修饰符。
在 Xcode 9(测试版 6)数据模型检查器(.xcdatamodeld
文件)中缺少索引选项:
它们在 Xcode 8:
中可见你知道这个决定背后的原因是什么吗?
简单索引在 iOS 11 中被弃用,Xcode 9 UI 反映了这一点。这是来自 NSPropertyDesciption
:
在 WWDC 2017 上,What's New in Core Data session 描述了一个新的索引 API。 session 看看。
正如@tomharrington 所说,解决方案在 WWDC 2017 视频中:索引内容从 10:32 开始,演示在 16:40。
仍然可以通过 Xcode9 创建和索引:
- 首先,select您的实体,长按 +(添加实体),然后 select 添加 Fetch Index。
然后,适当地命名您的索引,select 您要建立索引的 属性(并选择升序或降序,具体取决于数据的组织方式)
最后,如视频中所述,这不会触发迁移,更新您的应用的用户将不会获得您的索引。如果要强制模型迁移,请通过 selecting 实体添加哈希修饰符,然后设置右面板 > 第三个选项卡 > 版本控制 > 哈希修饰符。