Nie bardzo rozumiem zmienne statyczne, gdy są zdefiniowane w implementacji interfejsu. W metodach rozumiem, jak różnią się one od zmiennych lokalnych, ale nie, gdy są zdefiniowane bezpośrednio w implementacji.Jakie znaczenie mają zmienne statyczne w implementacji interfejsu?
Spójrz na te przykłady. Jaką różnicę robią te dwie rzeczy?
#include "MyClass.h"
@implementation MyClass
int myInt;
...
@end
I:
#include "MyClass.h"
@implementation MyClass
static int myInt;
...
@end
myInt
jest w obu przypadkach widoczne dla wszystkich metod, a jeśli ja interpretować test został uruchomiony poprawnie, myInt
będzie w obu przypadkach taka sama zmienna dla różnych wystąpień klasa.
Zobacz http://stackoverflow.com/a/4965145/654870 –