Ich verstehe statische Variablen nicht ganz, wenn sie in der Implementierung einer Schnittstelle definiert werden. In Methoden verstehe ich, wie sie sich von lokalen Variablen unterscheiden, aber nicht, wenn sie direkt in einer Implementierung definiert werden.
Schau 'dir diese Beispiele an. Welchen Unterschied machen diese beiden praktisch?
#include "MyClass.h"
@implementation MyClass
int myInt;
...
@end
Und:
#include "MyClass.h"
@implementation MyClass
static int myInt;
...
@end
myInt
ist in beiden Fällen für alle Methoden sichtbar, und wenn ich einen Test interpretiert habe, den ich korrekt ausgeführt habe, myInt
ist in beiden Fällen dieselbe Variable für verschiedene Instanzen der Klasse.