0

我想在应用程序中保留一个对象,并且不释放。

@implementation MyClass

    static MyClass *sharedInstance = nil;
    + (MyClass *)sharedInstance {
        if (!sharedInstance) {
            sharedInstance = [[super alloc] init];
        }
        return sharedInstance;
    }
@end

我可以通过 获得单个对象[MyClass sharedInstance],它在非 ARC 模式下运行良好。

但是当更改为 ARC 模式时,对象会释放。

4

1 回答 1

3

为什么你认为它会发布?您已将其分配给 ARC 跟踪的静态变量。

于 2013-03-07T07:20:46.517 回答