web-dev-qa-db-fra.com

Impossible d'insérer une nouvelle connexion de sortie: Aucune information trouvée pour la classe nommée

J'ai eu une erreur sur Xcode en disant qu'il n'y avait aucune information sur le contrôleur de vue.

Impossible d'insérer une nouvelle connexion de sortie: Aucune information trouvée pour la classe nommée

Pourquoi cela arrive-t-il?

Screenshot 1

281
Ege Kaan Gürkan

Voici quelques solutions à ce problème (en ordre de difficulté croissant):

  • Nettoyer le projet ( Produit> Nettoyer )
  • Coller manuellement

    @IBOutlet weak var viewName: UIView!
    // or
    @IBAction func viewTapped(_ sender: Any) { }
    

    et contrôle glisser à elle. (Modifiez le type si nécessaire.) Voir aussi this .

  • Fermez complètement Xcode et redémarrez votre projet.

  • Supprimez le dossier de données dérivées (Allez à Xcode> Préférences > Emplacements et cliquez sur la flèche grise à côté du dossier Données dérivées, puis supprimez le dossier de votre projet.)
  • Cliquez sur Supprimer dans la classe, supprimez la référence (et non Déplacer vers la corbeille), puis rajoutez-la. (voir cette réponse )
627
Suragch

Ou, si aucune des solutions ci-dessus ne fonctionne, tapez le nom de la sortie dans le fichier en premier @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!, puis cliquez-glissez de la sortie dans la nib vers la variable que vous venez de créer par programme. Il devrait fonctionner sans les tracas du nettoyage, de la construction et de la suppression de tout.

133
Stephen Paul

Il suffit de suivre les deux étapes suivantes pour éliminer cette erreur

  1. Nettoyer le projet en utilisant Product> clean
  2. Lancer le projet

Maintenant, essayez d'ajouter l'action ou la sortie. C'est ça.

Codage heureux

50

Aucun des conseils dans la meilleure réponse n'a fonctionné pour moi. Devenait fou. Puis remarqué que le rédacteur en chef adjoint avait en quelque sorte été réglé sur Manuel et que j'étais sur le ViewController.Swift (Interface) au lieu du fichier ViewController.Swift.

Cela a changé et le problème résolu. Un peu gênant mais bon, nous sommes tous en train d'apprendre.

enter image description here

48
Joshua Dance

Voici les étapes résolues pour moi:

  1. Supprimez la référence du nom de classe de la vue (storyboard/xib) et enregistrez;
  2. Ajoutez à nouveau le nom de la classe et enregistrez;
  3. Nettoyer et construire;

Terminé !

13
Clever Almeida

J'ai eu le même problème. J'ai compris que dans X-Code, l'élément Manual a été sélectionné lorsque j'ai tenté de créer une prise en maintenant la touche Ctrl enfoncée.

enter image description here

Après je l'ai mis à automatique cela a fonctionné

enter image description here

8
Vitalii

J'ai eu le même problème. Je me suis fatigué sous les solutions mais cela n’a pas fonctionné:

  1. Clean Project (cmd + shift + k) et même Clean Project Build (cmd + shift + alt + k)
  2. Deleted Derived data et Module Cache content

Solution ci-dessous pour résoudre ce problème:

  1. Déplacer vers le fichier de code source et écrire le IBOutlet / IBAction manuellement (copier coller préféré)

Screenshot 1

  1. Puis déplacez-vous vers le fichier Storyboard et ouvrez la fenêtre Utilites
  2. Aller à Connection Inspector
  3. Puis connectez les IBOutlet et IBAction écrits dans le fichier source avec Interface Builder.

Screenshot 2

8
Jayprakash Dubey

J'ai résolu ce problème en créant par programme les étiquettes et les champs de texte, puis en faisant glisser le curseur de la commande à partir des petits cercles vides situés à gauche du code vers les composants du scénarimage. Pour illustrer mon propos, j’ai écrit @IBOutlet weak var HelloLabel: UILabel!, puis j’ai appuyé sur Commande et fait glisser le code dans le composant du storyboard.

6
KuboAndTwoStrings
  1. Fermez le projet sur lequel vous travaillez.
  2. Supprimez le dossier 【DerivedData your de votre projet. (Ce dossier peut se trouver dans le dossier de votre projet ou dans
    ~/Library/Developer/Xcode/DerivedData/
    (votre projet) /) ou un autre endroit que vous avez configuré.
  3. redémarrez votre projet.
6
Ali

J'ai trouvé une solution de contournement plus facile, car je peux trouver ce bogue sur XCODE 9.

La première étape consiste à accéder à votre contrôleur de vue et à écrire manuellement la propriété que vous souhaitez connecter, comme dans l'exemple ci-dessous. Assurez-vous d'utiliser le format ci-dessous.

@IBOutlet faible var questionsStackView: UIStackView!

La deuxième étape va sur votre story-board et connecte votre vue ou celle que vous essayez de connecter à la propriété que vous avez créée à l’étape 1.

Ce qui précède vous fera gagner du temps lors de la suppression et du nettoyage des données dérivées.

3
Vision Mkhabela

Pour moi, cela a fonctionné lorsque sur l'onglet de droite> Localisation, j'ai coché la case Anglais. Initialement, seule la base était vérifiée. Après cela, je n’ai plus eu de problèmes. J'espère que cela t'aides!

2
lmicu

J'ai eu ce bogue quand j'ai renommé la classe. Puis je l'ai résolu en suivant simplement les étapes ci-dessous

  • Dans le menu Xcode -> Product -> Clean
  • Restart le Xcode
2
Vinoth Vino

Veuillez exécuter les deux étapes suivantes uniquement pour éliminer cette erreur.

1.  Clean Project using Product -> clean.
2.  Run the Project.

Essayez maintenant d’ajouter/Connecter les actions ou les prises.

Travailler bien pour moi plusieurs fois.

2
Devendra Singh

enter image description here

J'ai sélectionné l'option automatique pour sélectionner le fichier ViewController.Swift. Et puis je peux pouvoir prendre des points de vente.

2
Arpit B Parekh

Dans mon cas, c’était avant j’avais choisi un nouveau fichier UIViewController dans IB, puis j’essayais de faire glisser tout en maintenant la touche Ctrl enfoncée vers ce nouveau contrôleur sans supprimer au préalable les connexions précédentes dans l’Inspecteur de connexions. Supprimez-les d'abord et réessayez.

2
Marius Waldal

J'ai utilisé xCode 7 et iOS 9.

dans ton .m

supprimer #import "VC.h"

économisez .m et reliez votre sortie à nouveau, cela fonctionne bien.

dans ton .m

ajouter #import "VC.h"

enregistrer .m

0
Ahmed Abdallah

Rien de tout cela n'a fonctionné pour moi mais je l'ai compris.

À l'intérieur du storyboard, j'ai copié le ViewController correspondant dans le presse-papiers et je l'ai supprimé, puis je l'ai collé à nouveau.

Soudain, tout fonctionnait à nouveau comme un charme!

0
Markus

C'est arrivé lorsque j'ai ajouté un fichier Swift à un projet Objective-C.
Donc, dans cette situation, vous pouvez faire. .

  • SelectMY_FILE.Swift>>Delete>>Remove Reference
  • SelectMY_FOLDER>>AddMY_FILE.Swift
  • Voila ! You are good to go .
0
roy

La solution la plus simple: - J'ai utilisé xCode 7 et iOS 9.

dans ton .m

supprimer #import "VC.h"

économisez .m et reliez votre sortie à nouveau, cela fonctionne bien.

0
Ahmed Abdallah