Ich kann mit der rechten Maustaste klicken und aus meiner benutzerdefinierten UIView-Unterklassendatei in die Storyboard-Elemente ziehen, um sie zu verbinden, aber nicht anders herum. Ich glaube, das ist ein Xcode-Bug. Gibt es etwas, was ich tun kann, um das zu beheben? Dies ist nicht das erste Mal, dass es schon passiert und es nervt.
Ich habe schon mehrmals versucht, Xcode zu säubern und neu zu starten, ohne Erfolg.
Dies funktioniert nicht (Rechtsklick vom Storyboard auf die Swift-Datei)
Dies funktioniert (Rechtsklick von der IBAction der swift-Datei auf das Storyboard)
Übrigens, ich benutze Xcode 8.1 mit Swift 3.0.
UPDATE: Ich bin nicht auf der Suche nach einer Antwort, wie man IBOutlets / IBActions verbindet, weil ich, wie ich oben erwähnt habe (und auch in den Screenshots), bereits eine Verbindung herstellen kann und die App läuft gut. Die Frage ist mehr auf WARUM Xcode würde mich nicht von Storyboard verbinden & gt; Swift-Datei, aber mich von Swift-Datei & gt; Storyboard. Es tut mir leid, wenn die Frage irreführend ist.
Nachdem ich einige der gegebenen Lösungen getestet habe, was zuletzt funktioniert hat, starte ich das my Macbook neu. Es scheint ein Fehler auf XCodes Seite zu sein. Na gut.
Wir sehen dieses Problem manchmal auch seit Xcode 8
und nehmen an, dass dies ein Xcode-Bug ist.
Als Workaround:
Schreiben Sie den Ausgang in den Code @IBOutlet weak var myUiElement: UIView!
Strg + Ziehen Sie von Ihrem Ausgangspunkt zum Element der Benutzeroberfläche im Storyboard
Dinge zu prüfen, ob IBOutlet
nicht verbindet:
Ist die Klasse im Storyboard definiert?
Wählen Sie die UIViewController
in storyboard
, dann wählen Sie auf der rechten Seite des Bildschirms die identity inspector
und weisen Sie die entsprechende Klasse zu.
Entspricht der von Ihnen definierte Ausgangstyp dem von storyboard
?
Zum Beispiel verbinden wir UIButton
, dann sollte die Steckdose so aussehen, schreiben Sie den Code für die Steckdose und verbinden Sie sich dann mit dem View-Controller:
1: Weisen Sie die Klasse viewController zu.
2: Säubern Sie Ihr Projekt mit Shift-Alt-Cmd-K.
3: Beenden Sie zuerst Xcode und löschen Sie die abgeleiteten Daten. gehe zu: ~ / Library / Entwickler / Xcode / DerivedData p>
Drücken Sie Strg, ziehen Sie an eine schnelle Datei und erstellen Sie einen Ausgang.
Tags und Links ios xcode swift interface-builder xcode-storyboard