我在 Objective-C 中有类似的代码:
SubclassOfNSObject *GlobalVariableThatShouldNeverChange;
@implementation MyClass
+(void) initialize
{
[super initialize];
GlobalVariableThatShouldNeverChange = [[SubclassOfNSObject alloc] init];
// Change more stuff with GlobalVariableThatShouldNeverChange
}
@end
我在整个代码中都引用了这个,指向这个的指针永远不会改变,因为我在我的代码中到处都在使用它。问题是,当我使用 运行我的测试时GHUnit
,我在更改 ' 指针时遇到了奇怪的问题GlobalVariableThatShouldNeverChange
(即它正在被重新初始化。我在通过自动释放池释放变量时遇到了问题,这是固定的,我有解决这个问题的方法,但我想知道为什么?
谢谢!