Was ist der Unterschied zwischen 'if var' und 'if let' in swift? [Duplikat]

8
    

Diese Frage hat hier schon eine Antwort:

    

Betrachten Sie diese zwei Codes:

%Vor%

vs

%Vor%

Ich weiß, dass das let-Schlüsselwort eine Konstante definiert. Bedeutet das, dass die erste Zeile des Codes, wenn die myObject.value NSString ist, die myValue -Konstante gemacht wird? Das sieht verwirrend aus.

    
DNB5brims 29.05.2015, 09:39
quelle

5 Antworten

15

Wenn Sie let verwenden, können Sie myValue nicht ändern.

%Vor%

Auf der anderen Seite mit var können Sie.

%Vor%

Bitte beachten Sie, dass myValue nur innerhalb des Geltungsbereichs von if existiert und die Änderung ihres Werts keine Auswirkung außerhalb ihres Gültigkeitsbereichs hat.

Hoffe, das hilft.

    
Luca Angeletti 29.05.2015, 09:57
quelle
6

Sie verwenden let , um eine Konstante zu erstellen. Im ersten Beispiel können Sie also myValue nicht ändern.

Wenn Sie var verwenden, ist myValue eine Variable, die Sie in der if -Anweisung ändern können.

    
Greg 29.05.2015 09:42
quelle
0

Der Variablentyp hängt davon ab, ob Sie let oder var.

verwenden

let ist endgültig und kann danach nicht mehr geändert werden. var ist eine normale Variable.

Ihr myValue kann nicht geändert oder geändert werden, wenn Sie diese Anweisung verwenden.

    
Sly321 29.05.2015 09:44
quelle
0

"Verwenden Sie let , um eine Konstante zu erstellen, und var , um eine Variable zu erstellen. Der Wert einer Konstante muss zur Kompilierzeit nicht bekannt sein, aber Sie müssen ihm genau einmal einen Wert zuweisen.

Dies bedeutet, dass Sie Konstanten verwenden können, um einen Wert zu benennen, den Sie einmal festlegen, aber an vielen Stellen verwenden.

%Vor%

Eine Konstante oder eine Variable muss denselben Typ wie der Wert haben, den Sie ihm zuweisen möchten.

Sie müssen den Typ jedoch nicht immer explizit schreiben. Wenn Sie beim Erstellen einer Konstante oder einer Variablen einen Wert angeben, kann der Compiler auf seinen Typ schließen.

Im obigen Beispiel führt der Compiler aus, dass myVariable eine ganze Zahl ist, weil ihr Anfangswert eine ganze Zahl ist.

Lesen Sie die iBook Swift-Programmiersprache

Danke.

    
quelle
0

Das von Ihnen angegebene Beispiel hat die optionale Bindung

Die optionale Bindung wird verwendet, um festzustellen, ob ein optionaler Wert einen Wert hat, und wenn dies der Fall ist, wird dieser Wert als temporäre Konstante oder Variable zur Verfügung gestellt.

%Vor%

Der obige Code extrahiert myObject.value , wenn er als Konstante vorhanden ist, während der folgende Code myObject.value als Variable

extrahiert %Vor%     
Vivek Molkar 29.05.2015 09:54
quelle

Tags und Links