Mise à jour pour Xcode 7 (final) : Il n'est plus nécessaire de faire précéder le nom du module à la classe (comme dans Xcode 6 et les premières versions bêta de Xcode 7). La documentation d'Apple Mise en œuvre des sous-classes d'objets gérés par Core Data a été mis à jour en conséquence.
L'inspecteur de modèle de données dispose maintenant de deux champs "Classe" et "Module" pour une entité :
Lorsque vous créez une sous-classe d'objet géré Swift pour l'entité, l'attribut "Module" est défini sur "Current Product Module", et avec ce paramètre, la création d'instances fonctionne à la fois dans l'application principale et dans les tests unitaires. la création d'instances fonctionne à la fois dans l'application principale et dans les tests unitaires. La sous-classe d'objet géré doit no être marqué par @objc(classname)
(ceci a été observé dans https://stackoverflow.com/a/31288029/1187415 ).
Alternativement, vous pouvez vider le champ " Module " (il affichera " None ") et marquer les sous-classes d'objets gérés avec @objc(classname)
(ceci a été observé dans https://stackoverflow.com/a/31287260/1187415 ).
Remarques : Cette réponse a été écrite à l'origine pour Xcode 6. Il y a eu quelques changements dans les différentes versions bêta de Xcode 7 en ce qui concerne cette question. concernant ce problème. Comme il s'agit d'une réponse acceptée avec de nombreux réponses acceptées avec beaucoup de votes positifs et de liens vers elle, j'ai essayé de résumer la situation pour la version finale actuelle de Xcode 7.
J'ai fait mes propres "recherches" et j'ai lu toutes les réponses à cette question et à la question similaire. CoreData : avertissement : Impossible de charger la classe nommée . Donc l'attribution va à chacun d'entre eux, même si je n'ai pas les énumère pas spécifiquement !
Réponse précédente pour Xcode 6 :
Comme le montre le document Mise en œuvre des sous-classes d'objets gérés par Core Data Pour cela, vous devez préfixer le nom de la classe de l'entité dans le champ Class de l'inspecteur des entités du modèle avec le nom de votre module, par exemple "MyFirstSwiftApp.User".
7 votes
Avez-vous préfixé le nom de la classe de l'entité avec le nom du module, comme indiqué dans le document Mise en œuvre des sous-classes d'objets gérés par Core Data ?
0 votes
@MartinR : Voir la mise à jour de ma question.
2 votes
La classe devrait être " YourAppName.User", voir la documentation (lien dans mon commentaire précédent).
0 votes
@MartinR : Merci pour votre aide. Cela fonctionne.
0 votes
La meilleure chose à faire est de supprimer ces classes et de les recréer. Voici ce qui a fonctionné pour moi