GCD创建单例的方法

来源:互联网 发布:java找工作好难 编辑:程序博客网 时间:2024/05/18 02:14
#import "Demo.h"static Demo *instance = nil;@implementation Demo//GCD方法创建单例+(id)getDemo{    if (instance == nil) {        static dispatch_once_t onceToken;                dispatch_once(&onceToken, ^{            instance = [super alloc];                        instance = [instance init];                    });    }    return instance;}+(id)allocWithZone:(struct _NSZone *)zone{    if (instance == nil) {                static dispatch_once_t onceToken;                dispatch_once(&onceToken, ^{            instance = [super allocWithZone:zone];                    });    }    return instance;}-(id)copyWithZone:(struct _NSZone *)zone{    Demo *laoluo = [[Demo alloc]init];    Demo.name = @"demo";        return demo;}@end

0 0
原创粉丝点击