dispatch_once函数之单例模式
2016-03-18 16:30
239 查看
使用dispatch_once函数可以简化代码并且保证线程安全。变量只需要初始化一次,保证只调用API一次。
单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。因为单例类的静态实例对象需要唯一性,故只能是static类型。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ NSLog(@"该行代码只执行一次"); }); }
单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。因为单例类的静态实例对象需要唯一性,故只能是static类型。
@implementation XXClass + (instancetype)sharedInstance { static XXClass *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ if (!sharedInstance) { sharedInstance = [[self alloc] init]; } }); return sharedInstance; }我们调用只需要一句话。
XXClass *sharedInstance = [XXClass sharedInstance];
相关文章推荐
- 举例讲解C#编程中对设计模式中的单例模式的运用
- php设计模式之单例模式实例分析
- PHP基于单例模式实现的数据库操作基类
- JavaScript编程的单例设计模讲解
- C#设计模式之单例模式实例讲解
- Javascript实现单例模式
- JS模式之单例模式基本用法
- 深入理解JavaScript系列(25):设计模式之单例模式详解
- 使用设计模式中的单例模式来实现C++的boost库
- Java单例模式、饥饿模式代码实例
- java设计优化之单例模式
- Android源码学习之单例模式应用及优点介绍
- C++设计模式之单例模式
- C#窗口实现单例模式的方法
- Java线程安全中的单例模式
- PHP单例模式详细介绍
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- php实现singleton()单例模式实例
- PHP中数据库单例模式的实现代码分享
- php利用单例模式实现日志处理类库