iOS单例

2020-04-27  本文已影响0人  肖旭晖
+(ExampleManager *)shareInstance{
    dispatch_once(&_oneToken, ^{
        _instance = [[ExampleManager alloc] init];
    });
    return _instance;
}
-(id)copyWithZone:(NSZone *)zone{
    return _instance;
}
-(void)destroyInstance{
   
/*
只有置成0,GCD才会认为它从未执行过.它默认为0.这样才能保证下次再次调用shareInstance的时候,再次创建对象.
*/
    _oneToken = 0; 
    _instance = nil;
}

用法实例

ExampleManager *example = [ExampleManager shareInstance];

[[ExampleManager shareInstance] destroyInstance];

上一篇下一篇

猜你喜欢

热点阅读