web-dev-qa-db-fra.com

Comment faire pour que les aperçus fonctionnent à nouveau dans un projet SwiftUI

Récemment, j'ai remarqué que les aperçus ont cessé de fonctionner dans une application sur laquelle je travaille. J'utilise le dernier Xcode et Catalina (Beta 7). Si j'ajoute une nouvelle vue - TestView à mon projet, sa prévisualisation échoue. Ceci est sans modification, c'est-à-dire la vue par défaut "Hello World". Les diagnostics indiquent que "TestView" n'est pas un type de membre de "MyProject". Des idées pour résoudre le problème?

Si je crée un nouveau projet, les aperçus fonctionnent correctement.

Le projet fonctionne correctement sur un appareil ou un simulateur réel.

Le message de diagnostic complet est: "TestView" n'est pas un type membre de "MyProject"


failedToBuildDylib: /Users/nigelhamilton/Library/Developer/Xcode/DerivedData/MyProject-bgufjjqbmfuwcaahjswocfzmwsgx/Build/Intermediates.noindex/Previews/MyProject/IntermedisbjectsOject /TestView.2.preview-thunk.Swift:23:32: erreur: 'TestView' n'est pas un type de membre de typealias 'MyProject' TestView = MyProject.TestView ~~~~~~~~~ ^/Users/nigelhamilton/Library/Developer/Xcode/DerivedData/MyProject-bgufjjqbmfuwcaahjswocfzmwsgx/Build/Intermediates.noindex/Previews/MyProject/Intermediates.noindex/MyProject.build/Debug-iphonesimulator/MyProject.build/Objects-normal/x86_64View thunk.Swift: 16: 6: erreur: l'accesseur remplacé pour 'body' est introuvable @_dynamicReplacement (pour: body) var var __preview__body: some View {^

Je suis en train de supprimer du code de mon projet (ou au moins un doublon du projet) pour voir s'il recommence finalement à afficher l'aperçu. J'ai eu deux fois à cela, et cela a finalement fonctionné, mais avec la plupart du code supprimé. J'essaie donc de préciser où pourrait être le problème.

8
guinnessman

Je pense avoir résolu cela. J'avais fait ce qui semble être une stupide erreur. Le projet utilise CoreData et j'avais donné à l'une des entités le même nom que le projet. Bien que cela puisse sembler fou, le projet serait construit et exécuté (simulateur ou appareil) sans problème. C'était juste l'aperçu qui devenait confus. J'ai renommé l'entité et au moins certaines des vues peuvent être prévisualisées, y compris le TestView mentionné ci-dessus. Il y a encore quelques vues qui ne prévisualisent pas correctement, mais je pense que cela est dû à un autre problème.

12
guinnessman