Je ne comprends pas bien les variables statiques lorsqu'elles sont définies dans l'implémentation d'une interface. Dans les méthodes, je comprends comment elles diffèrent des variables locales, mais pas lorsqu'elles sont définies directement dans une implémentation.
Regardez ces exemples. Quelle différence font-ils dans la pratique ?
#include "MyClass.h"
@implementation MyClass
int myInt;
...
@end
Et :
#include "MyClass.h"
@implementation MyClass
static int myInt;
...
@end
myInt
est dans les deux cas visible par toutes les méthodes, et si j'ai interprété un test, il s'est déroulé correctement, myInt
sera dans les deux cas la même variable pour différentes instances de la classe.