iOS开发:开发过程中单例模式的使用
来源:互联网 发布:淘宝女装top1 编辑:程序博客网 时间:2024/06/05 14:54
一、单例模式的基本信息
1.单例模式的作用:程序在运行过程中,可以保证一个类只有一个实例,而且这个实例容易于供外界访问,进而方便地控制了实例的个数,并且节约了系统资源。
2.单例模式的使用场景:在整个应用程序之中,共享一份资源,这份资源只用初始化一次即可。单例模式在MRC和ARC两种环境下的写法是有区别的,这里只对ARC环境下的写法做介绍,MRC的不再这里介绍。
二、单例模式的具体实现步骤
大概步骤分为四步:(1)在类的内部保留一个static修饰的全局变量(2)提供一个类方法,方便外界访问(3)重写allocWithZone:方法,创建唯一的实例(4)重写copyWithZone方法。
1.在ARC中单例模式的实现,需要在.m文件中保留一个全局的static的实例变量,eg:static id _instance;
2.重写allocWithZone:方法,创建唯一的实例,这里要注意线程安全问题
+ (id)allocWithZone:(struct _NSZone *)zone {
if (_instance == nil) { 防止频繁加锁
@synchronized(self) {
if(_instance == nil) { 防止创建多次
_instance = [super allocWithZone:zone];
}
}
}
return _instance;
}
3.提供一个类方法让外界访问唯一的实例
+ (instancetype)sharedTool {if (_instance == nil) { 防止频繁加锁
@synchronized(self) {
if(_instance == nil) { 防止创建多次
_instance = [[self alloc] init];
}
}
}
return _instance;
}
4.实现copyWithZone:方法
- (id)copyWithZone:(struct _NSZone *)zone {
return _instance;
}
return _instance;
}
阅读全文
1 0
- iOS开发:开发过程中单例模式的使用
- iOS开发中单例设计模式、通知中心的使用
- IOS开发中单例模式使用详解
- ios的开发模式
- iOS开发的准备过程
- ios开发过程中添加新的视图使用UITabBarControl
- iOS开发过程中使用一些常用的宏
- iOS开发过程中 const 与 static 的使用
- 【iOS开发】iOS程序启动的过程
- ios开发的设计模式
- ios 开发的设计模式
- 【iOS开发】观察者模式-通知的使用及深入理解
- 开发过程中常用的设计模式
- 一次开发ios rsa的过程
- iOS开发过程中常用的方法
- iOS开发过程中常用的方法
- iOS应用程序开发过程的简述
- APICloud的iOS模块开发过程
- SOFT_START and HOLD_AUTO_START方式
- 笔记--事件
- oracle 180天后的问题
- vivado与modelsim的联合仿真(二)
- Linux下Anaconda安装tensorflow-gpu
- iOS开发:开发过程中单例模式的使用
- 彻底征服 Spring AOP 之 理论篇
- centos系统性能监控常用软件介绍
- 带你玩遍c语言(1)关键字
- Java事物
- RecyclerView的demo
- 编译RT288X SDK安装mksquash_lzma-3.2报错
- 计算机编码模式
- scroll实现上拉加载,下拉刷新,轮播图效果