12
votes

Problèmes de SwiftUI 2.0 CoreData avec le nouveau projet - 'Impossible de trouver le type' Item 'dans la portée'

[EDIT] J'espérais qu'Apple aurait corrigé ce qui est évidemment un bogue. La solution est de vider le cache, de fermer et de rouvrir Xcode.

Je suis sur Xcode Beta et je démarre un nouveau projet et sans écrire une seule ligne de code, j'obtiens déjà une erreur. Je n'ai rien trouvé en ligne. Peut-être est-ce trop nouveau?

Dans la nouvelle version de Xcode, j'ai sélectionné un nouveau projet,

sélection d'un nouveau projet

puis coché la case avec Core Data

en cochant la case Core Data

Si je ne coche pas la case, j'obtiendrais le modèle Xcode SwiftUI habituel avec "hello world", mais en cochant la case Core Data, j'obtiens une tonne de code de modèle supplémentaire d'Apple et sans rien toucher et sans changer une seule ligne de code, je obtenir un message d'erreur en le compilant ..

Erreur

L'erreur est: "Impossible de trouver l'élément dans la portée"

Assez frustrant, surtout parce que tous les tutoriels que j'ai commencent avec la configuration de fichier classique 'AppDelegate' .. alors que le nouveau SwiftUI est 'universel'!

J'ai vérifié le fichier .xcdatamodeld et il a l'air bien, et a l'entité 'Item'. Pourquoi il ne compile pas?

Donc je suis maintenant perdu, y a-t-il une solution ou c'est un bug et je dois attendre qu'Apple publie un correctif. Si c'est le cas, je n'ai pas besoin de commencer avec un nouveau projet d'ici là!

PS Aujourd'hui, j'ai nettoyé le cache avec CMD-ALT-SHIFT-K, fermé Xcode, supprimé l'application du simulateur, rouvert, reconstruit et il a compilé .. mais rien dans le simulateur! Nous progressons! Pourtant, je n'ai pas changé une ligne de code. Tout est encore le modèle Apple!

entrez la description de l'image ici


2 commentaires

C'est la mise en cache Xcode ... redémarrer, rouvrir, reconstruire.


Je déteste absolument CoreData. Chaque fois que je fais un essai, quelque chose comme ça se produit. J'ai tout essayé, y compris la méthode de suppression DerivedData. Rien ne fonctionne. Je ne peux même pas obtenir le modèle de base d'Apple qui est généré pour que vous puissiez l'exécuter. Allez Apple!


3 Réponses :


10
votes

La compensation Xcode normale fonctionne pour moi:

  1. Nettoyer le dossier de construction (Maj + Commande + K)
  2. Fermez complètement Xcode
  3. Supprimer le contenu 'DerivedData' (/ Library / Developer / Xcode / DerivedData)
  4. Réessayez (exécutez Xcode et build)

1 commentaires

J'espérais qu'Apple l'aurait résolu maintenant ... 😂 Mais oui, il faut encore redémarrer pour chaque nouveau projet!



1
votes

Pour un tout nouveau projet, appuyez sur Commande + B pour créer et tout ira bien.


0 commentaires

1
votes

Je n'ai trouvé aucune des autres réponses qui fonctionnait pour moi, mais ce qui a fait était:

  • Ouverture (ProjectName) .xcdatamodel
  • L'ajout d'un attribut à l'entité Item ne devrait pas avoir d'importance, j'ajoute simplement "foo" de type "String"
  • Cmd-B à construire (vous êtes alors libre de supprimer le nouvel attribut).

0 commentaires