iOS 最稳的单例写法

@implementation MyClass

+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    static dispatch_once_t onceToken;
    static MyClass *share;
    dispatch_once(&onceToken, ^{
        share = [[super allocWithZone:NULL] init];
    });
    return share;
}

+ (instancetype)shareInstance{
    return [[self alloc] init];
}

@end
复制代码
相关文章
相关标签/搜索