Wie man die in Int-typisierte Member-Variable in Swift erhöht

7

Ich schreibe eine Swift-App und habe Probleme, eine Membervariable vom Typ int zu inkrementieren.

Ich habe die Variable mit

erstellt %Vor%

dann in der Initialisierung initiierte ich es mit

%Vor%

Später, wenn ich versuche, es in einer Funktion zu erhöhen, indem ich entweder

%Vor%

oder

%Vor%

Mir wird im ersten Fall gesagt, dass "++" nicht mit einem Argument vom Typ 'Int' "aufgerufen werden kann und im zweiten Fall, dass 'pos' in 'self' nicht zugewiesen werden kann."

Ich konnte keine Informationen zum Operator ++ finden, außer dass Sie benutzerdefinierte Versionen davon schreiben können, aber ich nehme an, dass es zumindest in den Integer-Typ eingebaut ist. Wenn das nicht stimmt, dann beantwortet das die Frage.

Die andere Frage, von der ich keine Ahnung habe.

Danke!

    
NumberOneRobot 28.11.2014, 18:38
quelle

2 Antworten

18

In

%Vor%

index ist eine Konstante gespeicherte Eigenschaft. Es kann ein Anfangswert gegeben werden

%Vor%

und kann nur während der Initialisierung geändert werden (Und es muss einen bestimmten Wert haben, wenn die Initialisierung abgeschlossen ist.)

Wenn Sie den Wert nach seiner Initialisierung ändern möchten dann müssen Sie es als Variable gespeicherte Eigenschaft deklarieren:

%Vor%

Weitere Informationen finden Sie in "Eigenschaften" in der Swift-Dokumentation.

Beachten Sie, dass die ++ und -- in Swift 2.2 veraltet sind und entfernt wurden in Swift 3 (wie in einem Kommentar erwähnt), also - wenn als Variable deklariert - Sie erhöhen es mit

%Vor%

stattdessen.

    
Martin R 28.11.2014 18:45
quelle
2

Ich denke, du kannst das ändern

%Vor%

in

%Vor%

Da Sie den Wert von index erhöhen, indem Sie seinen Wert ändern, müssen Sie ihn als var deklarieren. Es ist auch erwähnenswert, dass let verwendet wird, um eine Konstante zu deklarieren.

Dann können Sie self.index++ verwenden. Beachten Sie, dass zwischen self.index und ++ kein Platz ist.

Hoffe, das wird helfen.

    
Max Haii 21.01.2016 03:43
quelle

Tags und Links