不保留的sharedInstance会发生什么?

时间:2013-10-10 10:11:22

标签: objective-c singleton

我有sharedInstance,通过

创建
+ (TheConstantsPlaceholder *)sharedInstance
{
    static TheConstantsPlaceholder *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[TheConstantsPlaceholder alloc] init];
        // Do any other initialisation stuff here
    });
    return sharedInstance;
}

如果对象[TheConstantsPlaceholder sharedInstance]没有保留,会发生什么?

使用后会立即解除分配吗?如果我想在我的程序中使用它,我是否必须将其存储在strong iVar中?

1 个答案:

答案 0 :(得分:2)

由于sharedInstance变量为static,因此在将其设置为nil之前,它将保留。