Я не совсем понимаю статические переменные, если они определены в реализации интерфейса. В методах я понимаю, как они отличаются от локальных переменных, но не тогда, когда они определены непосредственно в реализации.
Посмотрите на эти примеры. Какая разница между этими двумя способами?
#include "MyClass.h"
@implementation MyClass
int myInt;
...
@end
и
#include "MyClass.h"
@implementation MyClass
static int myInt;
...
@end
myInt
в обоих случаях видим для всех методов, и если я интерпретировал тест, я работал правильно, myInt
в обоих случаях будет той же переменной для разных экземпляров класса.