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,用于保证单例具有一个正确的状态。

posted on 2016-12-24 21:16  调学者  阅读(107)  评论(0)    收藏  举报

导航