在Objective-C中何时何地释放单例实例



我不确定我是否问对了问题。我有一个单例类,如下所示:

static DBHandler *dbHandler = nil;
+(DBHandler *)sharedDBHandler {
    @synchronized(self) {
        if(nil == dbHandler) {
            dbHandler = [[[self class] alloc] init];
        }
    }
    return dbHandler;
}

在Objective-C中何时何地释放Singleton实例

谢谢,

Never and Nowhere。除非在使用单例对象的代码中,您出于某种无法解释的原因保留了它。

它们通常位于静态内存中,这意味着它们的处理方式不同。请看这个问题: