IOS Singleton单例模式用法

本文详细介绍了在Objective-C中实现Singleton模式的方法,包括四个关键步骤:创建静态实例、实现sharedInstance方法、重写allocWithZone方法以及适当实现复制、释放等方法。通过实例演示了如何高效地控制应用程序级别的共享资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Singleton模式

经常来做应用程序级别的共享资源控制, 应该说这个模式的使用频率非常高, 现在来看看在Objective-C里面的实现方法.要实现一个Singleton Class, 至少需要做以下四个步骤:

1. 为Singleton Object实现一个静态实例, 初始化, 然后设置成nil.

2. 实现一个实例构造方法(通常命名为 sharedInstance 或者 sharedManager)检查上面声名的静态实例是否为nil, 如果是则新建并返回一个本类实例.

3. 重写 allocWithZone: 方法来保证当其他人直接使用 alloc 和 init 试图获得一个新实例的时候不会产生一个新的实例.

4. 适当的实现 copyWithZone:, release, retain, retainCount 和 autorelease.


static MyManager *sharedMyManager = nil;


@implementation MyManager


+ (id)instance {

if(sharedMyManager == nil)

sharedMyManager = [[super alloc] init];

    return sharedMyManager;

}


- (void)test{

NSLog(@"share:%@",self);

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值