web-dev-qa-db-fra.com

Xcode Interface Builder - façon "correcte" de supprimer / renommer les IBoutlets / IBactions mal câblés

Je suis nouveau sur Xcode, je travaille avec Swift, donc je ne sais pas si ce que je décris est en fait un bug.

Lorsque j'utilise le générateur d'interface et l'éditeur d'assistant, je peux créer des étiquettes, des boutons, etc., et créer des sorties et des actions dans le code avec un contrôle-glisser.

Tant que je suis parfait, pas de problème. Mais je semble rencontrer des problèmes si, par exemple, je fais une faute d'orthographe sur le nom de l'objet. Ou, je choisis la sortie au lieu de l'action. Je n'arrive pas à trouver un moyen de faire une correction qui ne semble pas totalement visser l'IDE. Même si je supprime l'objet dans l'IB et le code, il semble laisser des problèmes lorsque je crée. Ou, si j'essaie de supprimer la ligne dans le code et de la faire glisser à nouveau, une nouvelle ligne de code est créée, mais l'objet semble désormais faire référence au nouveau nom et à l'ancien nom, désormais manquant.

Encore une fois, je travaille avec Swift --- Puisque je n'utilise/ne connais pas Objective-C, je ne sais pas s'il existe un comportement similaire en utilisant ce langage.

Appréciez tous les pointeurs. (Autre que n'utilisez pas le générateur d'interface/storyboards/Swift.)

41
dave_the_dev

Utilisez l'inspecteur de connexions pour rompre la connexion. Ensuite, vous pouvez modifier/supprimer l'objet et/ou le code sans vous inquiéter.

enter image description here

70
user3386109

La réponse acceptée est correcte, mais il existe plusieurs façons de faire la même chose.

Première méthode

Cliquez avec le bouton droit sur la vue dans le storyboard, puis cliquez sur le petit x près de la prise de référence.

enter image description here

Deuxième méthode

Cliquez avec le bouton droit sur le nom de la vue dans le plan du document. Cliquez ensuite sur le petit x près de la prise de référence.

enter image description here

Troisième méthode

Sélectionnez la vue sur le storyboard, puis cliquez sur l'inspecteur de connexions. Ensuite, vous pouvez cliquer sur le petit x pour supprimer une référence de sortie.

enter image description here

Références supplémentaires dans le code

enter image description here

Si vous obtenez des connexions de sortie en code que vous ne vous êtes pas ajouté, voyez cette réponse .

17
Suragch

Vous pouvez trouver des IBOutlets inutilisés dans le fichier dans lequel ils sont déclarés en recherchant dans le "Gutter" de l'éditeur source un "trou non rempli".

enter image description here

6
Ron Fridman