wake-up-neo.com

Neue Ausgangsverbindung konnte nicht eingefügt werden: Es wurden keine Informationen für die angegebene Klasse gefunden

Ich habe auf Xcode eine Fehlermeldung erhalten, die besagt, dass keine Informationen zum View-Controller vorhanden waren.

Neue Ausgangsverbindung konnte nicht eingefügt werden: Es wurden keine Informationen für die angegebene Klasse gefunden

Warum passiert dies?

Screenshot 1

281

Hier sind einige Dinge, die dies beheben können (in aufsteigender Reihenfolge der Schwierigkeitsgrade):

  • Bereinigen Sie das Projekt ( Produkt> Bereinigen )
  • Manuell einfügen

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

    und ziehen Sie es mit gedrückter Maustaste. (Ändern Sie den Typ nach Bedarf.) Siehe auch this .

  • Schließen Sie Xcode vollständig und starten Sie Ihr Projekt neu.

  • Löschen Sie den Ordner "Abgeleitete Daten" (Gehe zu Xcode> Einstellungen > Speicherorte und Klicken Sie auf den grauen Pfeil neben dem Ordner "Abgeleitete Daten" und löschen Sie dann Ihren Projektordner.)
  • Klicken Sie in der Klasse auf Löschen, entfernen Sie den Verweis (nicht in den Papierkorb verschieben) und fügen Sie ihn erneut hinzu. (siehe diese Antwort )
627
Suragch

Wenn keines der oben genannten Verfahren funktioniert, geben Sie zuerst den Namen des Ausgangs in die Datei @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint! ein und klicken Sie dann auf den Ausgang in der Schreibfeder und ziehen Sie ihn auf die soeben programmgesteuert erstellte Variable. Es sollte funktionieren, ohne dass es mühsam ist, etwas zu reinigen, zu bauen und zu löschen.

133
Stephen Paul

Führen Sie einfach die beiden folgenden Schritte aus, um diesen Fehler zu beheben

  1. Projekt säubern mit Produkt> säubern
  2. Führen Sie das Projekt aus

Versuchen Sie nun, die Aktion oder den Ausgang hinzuzufügen. Das ist es.

Fröhliche Codierung

50

Keiner der Tipps in der besten Antwort hat für mich funktioniert. War verrückt geworden. Dann bemerkte ich, dass der Assistant Editor irgendwie auf Manual gesetzt wurde und ich war auf dem ViewController.Swift (Interface) anstelle der ViewController.Swift-Datei.

Das wurde geändert und das Problem behoben. Ein bisschen peinlich, aber hey, wir lernen alle.

enter image description here

48
Joshua Dance

Hier sind die Schritte für mich gelöst:

  1. Entfernen Sie die Klassennamenreferenz aus der Ansicht (Storyboard/XIB) und speichern Sie sie.
  2. Klassenname erneut hinzufügen und speichern;
  3. Reinigen und Bauen;

Getan !

13
Clever Almeida

Ich hatte das gleiche problem Ich habe festgestellt, dass als in X-Code Manual Element ausgewählt wurde, als ich versuchte, einen Ausgang durch Ziehen mit gedrückter Strg-Taste zu erstellen

enter image description here

Nachdem ich es auf automatisch eingestellt hatte, funktionierte es

enter image description here

8
Vitalii

Ich hatte das gleiche Problem. Ich bin unter Lösungen müde, habe aber nicht funktioniert:

  1. Clean Project (cmd + shift + k) und sogar Clean Project Build (cmd + shift + alt + k)
  2. Deleted Derived data und Module Cache content

Die folgende Problemumgehung für dieses Problem:

  1. Verschieben Sie in die Quellcodedatei und schreiben Sie den IBOutlet / IBAction manuell (Kopieren und Einfügen bevorzugt)

Screenshot 1

  1. Gehen Sie dann zur Storyboard-Datei und öffnen Sie das Fenster Utilites
  2. Gehe zu Connection Inspector
  3. Verbinden Sie dann die in der Quelldatei geschriebenen IBOutlet und IBAction mit Interface Builder.

Screenshot 2

8

Ich habe dieses Problem gelöst, indem ich die Beschriftungen und Textfelder programmgesteuert erstellt und dann mit der Befehlstaste von den kleinen leeren Kreisen links vom Code auf die Komponenten im Storyboard gezogen habe. Um meinen Standpunkt zu verdeutlichen: Ich habe @IBOutlet weak var HelloLabel: UILabel! geschrieben, dann die Befehlstaste gedrückt und den Code in die Komponente im Storyboard gezogen.

6
  1. Schließen Sie das Projekt, an dem Sie arbeiten.
  2. Löschen Sie den Ordner 【DerivedData】 Ihres Projekts. (Dieser Ordner befindet sich möglicherweise im Ordner Ihres Projekts oder im Ordner
    ~/Library/Developer/Xcode/DerivedData/
    (Ihr Projekt) /) oder an einem anderen Ort, den Sie eingerichtet haben.
  3. starten Sie Ihr Projekt neu.
6
Ali

Ich habe eine einfachere Problemumgehung gefunden, da ich diesen Fehler auf XCODE 9 finden kann.

Gehen Sie zu Ihrem Ansichts-Controller und schreiben Sie die Eigenschaft, die Sie verbinden möchten, manuell wie im folgenden Beispiel. Stellen Sie sicher, dass Sie das folgende Format verwenden.

@IBOutlet schwach var questionsStackView: UIStackView!

Schritt zwei gehen Sie zu Ihrem Storyboard und verbinden Sie Ihre Ansicht oder was auch immer Sie versuchen, eine Verbindung zu der Eigenschaft herzustellen, die Sie in Schritt 1 erstellt haben.

Mit den oben genannten Schritten sparen Sie Zeit beim Entfernen und Bereinigen abgeleiteter Daten.

3
Vision Mkhabela

Bei mir hat es funktioniert, als ich auf der rechten Registerkarte> Lokalisierung das Kontrollkästchen Englisch aktiviert habe. Anfänglich wurde nur Base geprüft. Danach hatte ich keine Probleme mehr. Hoffe das hilft!

2
lmicu

Ich habe diesen Fehler bekommen, als ich die Klasse umbenannt habe. Dann habe ich es einfach gelöst, indem ich die folgenden Schritte befolgt habe

  • Im Xcode-Menü -> Product -> Clean
  • Restart der Xcode
2
Vinoth Vino

Führen Sie die folgenden zwei Schritte aus, um diesen Fehler zu beheben.

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

Versuchen Sie nun, die Aktionen oder Ausgänge hinzuzufügen/zu verbinden.

Ich arbeite viele Male gut für mich.

2
Devendra Singh

enter image description here

Ich habe die Option Automatisch ausgewählt, um die ViewController.Swift-Datei auszuwählen. Und dann kann ich Steckdosen nehmen.

2
Arpit B Parekh

In meinem Fall war dies bc. Ich habe eine neue UIViewController-Datei in IB ausgewählt und dann versucht, sie mit gedrückter Strg-Taste auf diesen neuen Controller zu ziehen, ohne zuvor die vorherigen Verbindungen im Verbindungsinspektor zu entfernen. Entfernen Sie diese zuerst und versuchen Sie es erneut.

2
Marius Waldal

Ich habe xCode 7 und iOS 9 verwendet.

in deiner .m

lösche #import "VC.h"

speichere .m und verbinde deine Steckdose wieder, es funktioniert einwandfrei.

in deiner .m

#import "VC.h" hinzufügen

speichern Sie .m

0
Ahmed Abdallah

Nichts davon hat bei mir funktioniert, aber ich habe es herausgefunden.

Im Storyboard habe ich den entsprechenden ViewController in die Zwischenablage kopiert und gelöscht, danach habe ich ihn wieder eingefügt.

Plötzlich funktionierte alles wieder wie ein Zauber!

0
Markus

Es ist passiert, als ich eine Swift-Datei in ein _Objective-C_-Projekt eingefügt habe.
In dieser Situation können Sie also Folgendes tun. .

  • Select _MY_FILE.Swift>>_ Delete _>>_ Remove Reference
  • Select _MY_FOLDER>>_ Add _MY_FILE.Swift_
  • Voila ! You are good to go .
0
roy

Einfachste Lösung: - Ich habe xCode 7 und iOS 9 verwendet.

in deiner .m

#import "VC.h" löschen

speichere .m und verbinde deine Steckdose wieder, es funktioniert einwandfrei.

0
Ahmed Abdallah