У меня есть код, подобный этому в Objective-C:
SubclassOfNSObject *GlobalVariableThatShouldNeverChange;
@implementation MyClass
+(void) initialize
{
[super initialize];
GlobalVariableThatShouldNeverChange = [[SubclassOfNSObject alloc] init];
// Change more stuff with GlobalVariableThatShouldNeverChange
}
@end
Я ссылаюсь на это во всем коде, и указатель на него никогда не должен изменяться, потому что я использую его везде через мой код.
Проблема в том, что когда я запускаю свои тесты, используя GHUnit
, у меня возникают странные проблемы с изменением указателя GlobalVariableThatShouldNeverChange
(т.е. он переинициализируется. У меня была проблема с выпуском переменной через пул авто-выпуска это исправлено, и у меня есть обходной путь для этой проблемы, но я хотел бы знать почему ?
Спасибо!