Wie Verwenden von Fix & # 8208-It Swift Code zu korrigieren

Fix # 8208-Es ist der Code-Vervollständigung in Swift Zusammenhang, dass es stützt sich auf den Hintergrund # 173-Bearbeitung des Textes, den Sie eingeben, aber es geht über die reine Korrektur Tippfehler. (Fix # 8208-Es ist die Benutzeroberfläche Namen für Code-Vervollständigung.)

Die folgende Abbildung verwendet die Master # 8208-Details Anwendungsvorlage dies zu demonstrieren.

bild0.jpg

Code-Vervollständigung können Sie vollständige Code helfen, wenn Sie eingeben var myVar: S. Nachdem Sie jedoch haben getippt (und beendet) var myVar: String, Sie haben noch einen Syntaxfehler.

Eine Fehlermeldung erscheint auf der Klassendeklaration. Der Text wird an der rechten Seite angezeigt (# 147-Klasse 'AppDelegate' hat keine initializers # 148-), und der rote Kreis in der Gosse zeigt einen Fehler an.

Dieser rote Kreis - wirklich ein roter Donut - nicht immer Ihre Fehler begleiten. Einige Fehlermeldungen angezeigt werden ein kleines rotes Stoppschild in der Gosse statt. Der rote Donut zeigt an, dass Fix # 8208-er verfügbar ist. Klicken Sie auf den Donut einen empfohlenen Fix # 8208-It hinzuzufügen. Drücken Sie die Eingabetaste, und Xcode implementiert die Fix # 8208-It.

In diesem Fall ist der Fehler der fehlenden Initialisierer für die Klasse. Das ist alles schön und gut, aber wenn man ein Anfang Swift-Entwickler sind, was tun Sie dagegen?

Der Fix # 8208-Es bietet die Lösung. Swift setzt voraus, dass alle variablen und konstanten einen Anfangswert haben. Im Gegensatz zu einigen anderen Sprachen (einschließlich Ziel # 8208-C), können Sie nicht eine deklarierte Konstante oder Variable, die keinen Wert hat. Es muss einen gewissen Wert haben.

So zu den Swift Regeln zu halten, können Sie die Beseitigung der Fehlermeldung über das Fehlen eines initializer erhalten, indem meineVar auf eine leere Zeichenkette. Es ist nur eine leere Zeichenfolge, wahr, aber es ist etwas. Mit ihm haben Sie nicht eine nicht initialisierte Variable, und Ihre Fehler geht weg.

Diese Abbildung zeigt den Fix # 8208-It und seine Lösung:

image1.jpg

Fix # 8208-Es ist sehr mächtig. Betrachten wir zum Beispiel, dass anstelle von var myVar: String Sie hatte die folgende Codezeile eingegeben:

var myVar: Double

Dieser neue Code gibt Ihnen die gleichen Fix # 8208-It-Nachricht. Allerdings würde die Fix # 8208-It-Lösung anders sein:

var myVar: Double = 0.0

Fix # 8208-Es kann nicht nur erkennen, dass meineVar nicht initialisiert ist, aber es kann auch eine Initialisierung, die den richtigen Typ ist vorzusehen. Es gibt Ihnen eine Lösung, die syntaktisch ist (und kontextuell) korrekt.

Beachten Sie jedoch, dass selbst eine syntaktisch und inhaltlich korrekte Lösung nicht richtig sein kann. Der beste Initialisierungswert für Ihre Bedürfnisse könnte tatsächlich sein # 147-Keine Daten # 148- (Für den String) oder 163,24 (Für das Doppelzimmer).

Trotzdem sind Sie weit voraus, wenn Sie Fix # 8208-It in einem Fall wie diesem verwendet werden - vor allem, weil die Lösung eine initializer der Bereitstellung nicht erfordert eine separate initializer Funktion zu schaffen. Die Fehlermeldung korrekt ist (und die Schaffung eines initializer genannt drin könnte das Problem) lösen, aber es ist diese einfachere Lösung: set nur einen Standardwert auf die Variable.

Menü