iOS中编写单例类的心得
单例
1、认识过的单例类有哪些:
NSUserDefaults、NSNotificationCenter、NSFileManager、UIApplication
2、单例类
单例类某个类在代码编写时使用了单例设计模式
3、单例设计模式
见过的设计模式:MVC 代理 观察者
设计模式:经验丰富的人总结出的一套经验、方法
特点:单例模式通常用于单例类中 单例类就是这个类只有一个实例(对象)
使用场景:
1、在整个应用程序中,共享一份资源,应该让这个类创建出来的对象永远只有一个
2、某些类的操作比较消耗系统资源 此时应该让这个类创建出来的对象永远只有一个
单例类的构建
一:
静态方法获取实例,为你的单例类声明一个静态的实例,并且初始化它的值为nil
二:
在获取实例的方法中,只有在静态实例为nil的时候,产生一个你的类的实例,这个实例通常被称为共享的实例
三:
分析重写allocWithZone
重写alloc
重写allocWithZone
四:
多线程实现线程安全 添加@synchronized代码块
五:(optional)
重写copy相关方法 copyWithZone、mutableCopyWithZone 返回实例
ARC下以上几步就OK了
MRC下酌情考虑增加第六步
六:
release、retain、retainCount 和 autorelease,用于保证单例具有一个正确的状态。
浙公网安备 33010602011771号