Почему XCode не показывает параметры индекса для сущностей и атрибутов CoreData?
В Xcode 9 (бета-версия 6) параметры индексации отсутствуют в Data Model Inspector (.xcdatamodeld file):
Они видны в Xcode 8:
Знаете ли вы, какие причины стоят за этим решением?
Ответ 1
Простая индексация устарела в iOS 11, и интерфейс Xcode 9 отражает это. Это из документов для NSPropertyDesciption:
В WWDC 2017 сессия What New in Core Data описала новый API индексирования. Посмотрите на эту сессию.
Ответ 2
Как сказал @tomharrington, решение находится в видео WWDC 2017: Индексирование начинается с 10:32 и демо в 16:40.
По-прежнему можно создавать и индексировать через Xcode9:
Сначала выберите свою сущность, щелкните кнопкой мыши + (Добавить объект) и выберите Добавить индекс выборки.
Затем укажите свой индекс соответствующим образом, выберите свойство, которое вы хотите индексировать (и выберите восходящий или нисходящий, в зависимости от того, как организованы ваши данные)
Наконец, как объясняется на видео, это не вызовет переноса и пользователя, который обновит ваше приложение, не получит ваш индекс. Если вы хотите принудительно перенастроить модель, добавьте модификатор хэша, выделив объект и выбрав "Правая панель" > "Третья вкладка" > "Управление версиями" > "Модификатор хэша".