Objective-C中使用单例模式
来源:互联网 发布:互联网安全软件 编辑:程序博客网 时间:2024/06/05 11:28
原帖地址:http://www.galloway.me.uk/tutorials/singleton-classes/
本文为博主自行翻译,转载请注明出处:http://blog.csdn.net/iosevanhuang/article/details/13278323
“单例模式”是我在iOS中最常使用的设计模式之一。单例模式不需要传递任何参数,就有效地解决了不同代码间的数据共享问题。
背景
单例类是一个非常重要的概念,因为它们表现出了一种十分有用的设计模式。单例类的应用贯穿于整个iPhone SDK中。例如,UIApplication类有一个方法叫sharedApplication,从任何地方调用这个方法,都将返回与当前正在运行的应用程序相关联的UIApplication实例。
博主补充:单例类保证了应用程序的生命周期中有且仅有一个该类的实例对象,而且易于外界访问。
实现
你可以用以下代码实现一个Objective-C的单例类(ARC模式下,非ARC模式下面会讲到):
在这里我们定义了一个静态变量sharedMyManager,然后仅初始化一次该变量。这里使用了dispatch_once以保证该变量只被GCD初始化一次。操作系统将保证这是线程安全的。
如果不使用GCD,你可以使用以下代码:
接下来,当你需要使用这个单例对象时,你只要这样调用就可以了:
我在我的代码中广泛使用单例类,比如创建一个单例类来处理CoreLocation或CoreData功能。
非ARC代码
虽然我并不那么推荐,但是如果你要使用非ARC环境的话,你应该使用以下代码:
博主:这里的单例都是懒汉式单例,当单例对象的获取方法第一次被调用时创建单例对象。而在类被加载时就创建单例对象叫做饿汉式单例。
- Objective-C中使用单例模式
- Objective C 中实现单例模式
- Objective-C使用单例(Singleton)模式
- Objective C--单例模式
- Objective C--单例模式
- Objective C 单例模式
- Objective C--单例模式
- Objective-C单例模式
- Objective C--单例模式
- Objective-C单例模式
- Objective-C 单例模式
- Objective-C 单例模式
- Objective-C:单例模式
- Objective-C 单例模式
- Objective-C 中singleton(单例模式)的实现
- Objective-C 中singleton(单例模式)的实现
- Objective C 实现Singleton(单例)模式.
- Objective-C实现单例模式
- TCP的长连接与短连接及其读写模式
- 禁入四楼机房的这两周
- const笔记(不定期更新)
- hdu4739 Zhuge Liang's Mines 状态压缩dp,0-1背包
- 主题:android中的所有activity间动画跳转
- Objective-C中使用单例模式
- 拉格朗日对偶(Lagrange duality)
- VirtualBox虚拟机使用技巧
- 初试uiAutomator 创建项目(一)
- (1)常用HTML窗口对象
- java连接各种数据库的关键代码
- Android中的消息机制:Handler消息传递机制
- 图像分割GrabCut
- 指针详解