Why Xcode does not show index options for CoreData entities and attributes? Why Xcode does not show index options for CoreData entities and attributes? xcode xcode

Why Xcode does not show index options for CoreData entities and attributes?


As @tomharrington said, the solution is in the WWDC 2017 video: Indexing stuff begins at 10:32 and the demo at 16:40.

It's still possible to create and index via Xcode9:

  • First, select your entity, long-click on the + (Add Entity), and select Add Fetch Index.

first step

  • Then, name your index appropriately, the select the property you want to index on (and choose ascending or descending, depending on how is organized your data)second step

  • Finally, as explained on the video, this will not trigger a migration and user that update your app will not get your index. If you want to force a model migration, add an Hash Modifier by selecting the entity, and setting Right Panel > 3rd tab > Versioning > Hash Modifier.optionally, third step


Simple indexing is deprecated in iOS 11, and the Xcode 9 UI reflects that. This is from the docs for NSPropertyDesciption:

isIndexed deprecated

At WWDC 2017 the What's New in Core Data session described a new indexing API. Give that session a look.