Je commence Swift et j'utilise des tutoriels dans les terrains de jeux Swift pour macOS.
Donc, exemple de code serait
var str = "Hello, playground"
str
str1
Je ne reçois aucune information d'erreur rouge sur la chaîne 1. Juste un crash dans la console
Playground execution failed: error: MyPlayground.playground:1:1:
error: use of unresolved identifier 'str1'
str1
^~~~
* thread #1, queue = 'com.Apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000102157360 com.Apple.dt.Xcode.PlaygroundStub-macosx`executePlayground
frame #1: 0x000000010215522a com.Apple.dt.Xcode.PlaygroundStub-macosx`-[PlaygroundViewBridgeService execute] + 90
Si je corrige le code, le terrain de jeu s'actualise et affiche de nouvelles données. Il ne signale simplement pas les erreurs.
Comment puis-je empêcher Xcode de planter et me comporter comme indiqué?
Xcode version 8.3 (8E162) macOS 10.12.4
J'ai essayé de supprimer tous les fichiers Xcode (y compris ceux créés lors de la construction) et de réinstaller et d'utiliser un autre utilisateur
En fait, un terrain de jeu affiche le "erreur de marque rouge sur le côté gauche du code" et il existe également une option automatique pour corriger l'erreur, tout comme les projets classiques.
J'ai eu le même problème que vous (les marques rouges n'apparaissaient pas à gauche). Ce qui a résolu pour moi:
Je suis sur Xcode 8.3.2
Update: Same est valable pour Xcode 9.0
Dans le navigateur de problème, cliquez avec le bouton droit de la souris sur l'erreur -> ouvrir rapidement, puis sélectionnez-la de nouveau pour l'ouvrir en tant que terrain de jeu. Ça marche pour moi.
Fichier -> Paramètres du terrain de jeu
check afficher les numéros en direct du code source
sélectionnez montrer tous les problèmes bouton radial
En fait, à compter du 3/2017, Xcode affichait des erreurs en ligne sur le terrain de jeu, exactement comme dans un projet lors de l'édition d'un fichier. Ce comportement a changé dans une mise à jour récente, même si je ne le vois pas documenté. J'ai supposé qu'il s'agissait d'un bogue introduit avec le dernier correctif, ou peut-être qu'un paramètre par défaut a été modifié et peut être modifié.
Edit: En fait, je viens d’ouvrir un terrain de jeu que j’ai créé avant le patch, et les erreurs s’affichant en ligne
Parfois, cette fonctionnalité fonctionne, mais le plus souvent, elle ne fonctionne pas. Xcode 8.3.3 a été très bogué avec cette fonctionnalité et m'a fait éviter d'utiliser Playgrounds.
Voici un écran quand cela fonctionne dans Xcode 9 Beta 6:
Quitter et rouvrir Xcode semble aider à le faire fonctionner à nouveau, mais les outils semblent se confondre assez facilement alors que j'expérimente avec du code.
Lorsque je perturbe le code, cela cause des problèmes, Playgrounds cesse de tenter de recompiler, puis une boucle de retour périmée et je n'ai aucune idée si le code fonctionne ou non.
... quelques instants après avoir travaillé sur un terrain de jeu sous Xcode 9 Beta 6, il a cessé de fonctionner. Les erreurs ont cessé d’afficher en ligne, je vous recommande donc de déposer davantage de rapports de bogues sur http://bugreport.Apple.com
Supprimer des données dérivées et quitter Xcode a fonctionné pour moi.