Variables de función estática en Swift
Estoy tratando de descubrir cómo declarar una variable estática con alcance local solo para una función en Swift.
En C, esto podría verse más o menos así:
int foo() {
static int timesCalled = 0;
++timesCalled;
return timesCalled;
}
En Objective-C, es básicamente lo mismo:
- (NSInteger)foo {
static NSInteger timesCalled = 0;
++timesCalled;
return timesCalled;
}
Pero parece que no puedo hacer nada como esto en Swift. He intentado declarar la variable de las siguientes maneras:
static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0
Pero todos estos resultan en errores.
El primero se queja "Las propiedades estáticas solo pueden declararse en un tipo".El segundo se queja de "Declaración esperada" (dondestatic
es) y "Patrón esperado" (dondetimesCalledB
es)El tercero se queja "Las declaraciones consecutivas en una línea deben estar separadas por ';'" (en el espacio entre los dos puntos ystatic
) y "Tipo esperado" (dondestatic
es)El cuarto se queja "Las declaraciones consecutivas en una línea deben estar separadas por ';'" (en el espacio entreInt
ystatic
) y "Declaración esperada" (bajo el signo igual)