Statique de la fonction de variables dans Swift

Je suis à essayer de comprendre comment déclarer une variable statique limitée uniquement localement à une fonction dans Swift.

En C, cela pourrait ressembler à quelque chose comme ceci:

int foo() {
    static int timesCalled = 0;
    ++timesCalled;
    return timesCalled;
}

En Objective-C, c'est fondamentalement la même:

- (NSInteger)foo {
    static NSInteger timesCalled = 0;
    ++timesCalled;
    return timesCalled;
}

Mais je n'arrive pas à faire quelque chose comme cela dans Swift. J'ai essayé de déclarer la variable dans l'une des manières suivantes:

static var timesCalledA = 0
var static timesCalledB = 0
var timesCalledC: static Int = 0
var timesCalledD: Int static = 0

Mais ces résultats de toutes les erreurs.

  • Le premier se plaint "des propriétés Statiques ne peuvent être déclarées sur un type".
  • Le second se plaint Attendue "déclaration" (où static est) et "rythme" (où timesCalledB est)
  • Le troisième se plaint "états Consécutifs sur une ligne doivent être séparés par des ';'" (dans l'espace entre le côlon et le static) et "Type Attendu" (où static est)
  • Le quatrième se plaint "états Consécutifs sur une ligne doivent être séparés par des ';'" (dans l'espace entre Int et static) et Attendue "déclaration" (sous le signe égal)
InformationsquelleAutor nhgrif | 2014-08-18