Sto cercando di capire come dichiarare una variabile statica con scope solo localmente a una funzione in Swift.
In C, questo potrebbe assomigliare a questo:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
In Objective-C, è fondamentalmente lo stesso:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
Ma non riesco a fare niente del genere in Swift. Ho provato a dichiarare la variabile nei seguenti modi:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Ma tutto ciò si traduce in errori.
- Il primo lamenta "Le proprietà statiche possono essere dichiarate solo su un tipo".
- Il secondo si lamenta "Dichiarazione attesa" (dove si
static
trova) e "Modello previsto" (dove sitimesCalledB
trova) - Il terzo si lamenta "Le istruzioni consecutive su una riga devono essere separate da"; "(nello spazio tra i due punti e
static
) e" Tipo previsto "(dove sistatic
trova) - Il quarto reclama "Le dichiarazioni consecutive su una riga devono essere separate da ';'" (nello spazio tra
Int
estatic
) e "Dichiarazione prevista" (sotto il segno di uguale)