Ich versuche herauszufinden, wie eine statische Variable deklariert wird, die nur lokal für eine Funktion in Swift gültig ist.
In C könnte dies ungefähr so aussehen:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
In Objective-C ist es im Grunde dasselbe:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
Aber ich kann so etwas in Swift scheinbar nicht machen. Ich habe versucht, die Variable folgendermaßen zu deklarieren:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Dies alles führt jedoch zu Fehlern.
- Die erste Beschwerde "Statische Eigenschaften dürfen nur für einen Typ deklariert werden".
- Der zweite beschwert sich über "Erwartete Deklaration" (wo
staticist) und "Erwartetes Muster" (wotimesCalledBist) - Der dritte beschwert sich über "Aufeinanderfolgende Anweisungen in einer Zeile müssen durch ';'" (im Leerzeichen zwischen Doppelpunkt und
static) und "Erwarteter Typ" (wostaticist) getrennt werden. - Die vierte Beschwerde lautet "Aufeinanderfolgende Anweisungen in einer Zeile müssen durch ';'" (im Leerzeichen zwischen
Intundstatic) und "Erwartete Deklaration" (unter dem Gleichheitszeichen) getrennt werden.