单例类

4种创建方式。


//UIApplication NSUserDefault NSNotificationCenter....

//单例类:在程序运行过程中只创建一个对象

//存储数据,封装方法


//+ (id) shareSingletonClass{

//

//    //互斥锁防止多个线程在同一时间访问同一块资源

//    @synchronized(self) {

//        if (!singletonClass) {

//            singletonClass = [[SingletonClass alloc]init];

//        }

//    }

//    return singletonClass;

//}


+ (id) shareSingletonClass{

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

//只执行一次

if(!singletonClass) {

singletonClass = [[SingletonClass alloc] init];

}

});

return singletonClass;

}


//重写父类方法

+ (id) alloc{

if(!singletonClass) {

return[super alloc];

}

return singletonClass;

}


+ (id)allocWithZone:(struct_NSZone*)zone{

if(!singletonClass) {

return [super allocWithZone:zone];

}

return singletonClass;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容