web-dev-qa-db-fra.com

Pourquoi Xcode n'affiche pas les options d'index pour les entités et les attributs Core Data?

Dans Xcode 9 (beta 6), les options d'indexation sont manquantes dans l'inspecteur de modèle de données (.xcdatamodeld fichier):

enter image description hereenter image description here

Ils sont visibles dans Xcode 8:

enter image description hereenter image description here

Savez-vous quelles sont les raisons de cette décision?

20
Trzy Gracje

L'indexation simple est déconseillée dans iOS 11, et l'interface utilisateur de Xcode 9 le reflète. Cela provient des documents pour NSPropertyDesciption:

isIndexed deprecated

Lors de la WWDC 2017, la session Quoi de neuf dans les données de base a décrit une nouvelle API d'indexation. Jetez un œil à cette session.

9
Tom Harrington

Comme l'a dit @tomharrington, la solution se trouve dans la vidéo WWDC 2017: l'indexation commence à 10h32 et la démo à 16h40.

Il est toujours possible de créer et d'indexer via Xcode9:

  • Tout d'abord, sélectionnez votre entité, cliquez longuement sur le + (Ajouter une entité), puis sélectionnez Ajouter un index de récupération.

first step

  • Ensuite, nommez votre index de manière appropriée, sélectionnez la propriété sur laquelle vous souhaitez indexer (et choisissez ascendant ou descendant, selon l'organisation de vos données) second step

  • Enfin, comme expliqué sur la vidéo, cela ne déclenchera pas de migration et l'utilisateur qui mettra à jour votre application ne recevra pas votre index. Si vous souhaitez forcer une migration de modèle, ajoutez un modificateur de hachage en sélectionnant l'entité et en définissant le panneau droit> 3e onglet> Versioning> Modificateur de hachage. optionally, third step

59
Martin