iOS开发单例模式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

iOS开发单例模式
⼀、什么是单例模式
保证系统中⼀个类只有⼀个实例并且提供全局⼊⼝访问这个实例。

常⽤的单例使⽤情景有:UIApplication(应⽤程序实例类) NSNotificationCenter(消息中⼼类) NSFileManager(⽂件管理类) NSUserDefaults(应⽤程序设置) NSURLCache(请求缓存类) NSHTTPCookieStorage(应⽤程序cookies池)
⼆、单例模式的基本实现
#pragma mark === 单例
+(instancetype)sharedManager
{
static TangLinHFNetWorkManager* manager=nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (manager == nil) {
manager=[[TangLinHFNetWorkManager alloc]init];
}
});
return manager;
}
这个是我平时⽹络请求使⽤的单例类。

为了防⽌重复创建,有两种⽅法解决:⼀是直接禁⽤他的创建⽅法,然后提⽰⼀个错误信息。

第⼆种就是重写⼏种创建⽅法。

三、单例模式的优缺点
优点:
1.提供了对唯⼀实例的受控访问,很使⽤简单,易于跨模块。

2.由于在系统内存中只存在⼀个对象,因此可以节约系统资源,对于⼀些需要频繁创建和销毁的对象单例模式⽆疑可以提⾼系统的性能。

3.因为单例模式的类控制了实例化的过程,所以类可以更加灵活修改实例化过程。

缺点:
1.不易被重写或扩展
2.不能被继承
3.单例只要程序不销毁就⼀直存在,消耗了系统内存资源。

相关文档
最新文档