Почему XCode не показывает параметры индекса для сущностей и атрибутов CoreData?

В Xcode 9 (бета-версия 6) параметры индексации отсутствуют в Data Model Inspector (.xcdatamodeld file):

введите описание изображения здесь введите описание изображения здесь

Они видны в Xcode 8:

введите описание изображения здесь введите описание изображения здесь

Знаете ли вы, какие причины стоят за этим решением?

Ответ 1

Простая индексация устарела в iOS 11, и интерфейс Xcode 9 отражает это. Это из документов для NSPropertyDesciption:

isIndexed устарело

В WWDC 2017 сессия What New in Core Data описала новый API индексирования. Посмотрите на эту сессию.

Ответ 2

Как сказал @tomharrington, решение находится в видео WWDC 2017: Индексирование начинается с 10:32 и демо в 16:40.

По-прежнему можно создавать и индексировать через Xcode9:

  • Сначала выберите свою сущность, щелкните кнопкой мыши + (Добавить объект) и выберите Добавить индекс выборки.

первый шаг

  • Затем укажите свой индекс соответствующим образом, выберите свойство, которое вы хотите индексировать (и выберите восходящий или нисходящий, в зависимости от того, как организованы ваши данные) второй шаг

  • Наконец, как объясняется на видео, это не вызовет переноса и пользователя, который обновит ваше приложение, не получит ваш индекс. Если вы хотите принудительно перенастроить модель, добавьте модификатор хэша, выделив объект и выбрав "Правая панель" > "Третья вкладка" > "Управление версиями" > "Модификатор хэша". необязательно, третий шаг