单例各种写法

本文深入探讨了Objective-C中单例模式的实现机制,通过使用静态属性和同步锁确保线程安全,并提供了实例化过程的优化方法。详细介绍了如何在不同场景下灵活运用单例模式,提升程序的性能和可维护性。
1.  + (id)sharedInstance
{
    static dispatch_once_t once = 0; //被访问次数 当访问一次的时候 下次就不在访问了
    __strong static id _sharedObject = nil;
    dispatch_once(&once, ^{
        _sharedObject = [[self alloc] init];
    });
    return _sharedObject;
}

 

2.

 static AccountManager *DefaultManager = nil;  
   
+ (AccountManager *)defaultManager {  
@synchorzied(self){
//线程安全  但是访问次数多的话   会 效率低下
    if (!DefaultManager) DefaultManager = [[self allocWithZone:NULL] init];  
    return DefaultManager;  
}
}  

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值