【iOS】三种单例模式写法
来源:互联网 发布:台式电脑怎么连网络 编辑:程序博客网 时间:2024/06/06 05:27
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
一、(线程不安全)
#import "Singleton.h"@implementation Singletonstatic Singleton *_singleTon = nil;+ (id)sharedSingleton { if (!_singleTon) { _singleTon = [[Singleton alloc] init]; } return _singleTon;}end
二、使用dispatch_once只创建一次
#import "Singleton.h"@implementation Singleton+ (id)sharedSingleton { //1.声明一个空的静态的单例对象 static Singleton *_singleTon = nil; //2.声明一个静态的gcd的单次任务 static dispatch_once_t onceTask; //3.执行gcd单次任务:对对象进行初始化 dispatch_once(&onceTask, ^{ _singleTon = [[Singleton alloc] init]; }); return _singleTon;}end
三、重写了系统提供的initialize(线程安全的方式)
#import "Singleton.h"@implementation Singletonstatic Singleton *_singleTon = nil;+ (void)initialize { if (self == [Singleton class]) { _singleTon = [[Singleton alloc] init]; }}+ (id)sharedDataCenterByInitialize { return _singleTon;} end
0 0
- 【iOS】三种单例模式写法
- ios 单例模式的写法
- ios 单例模式 两种写法
- ios 单例模式的写法
- IOS 单例模式的写法
- iOS之单例模式常见写法
- iOS单例模式的官方写法
- iOS 单例模式的写法
- iOS 单例模式的写法
- iOS方法--------单例模式的写法
- iOS单例模式和单例的写法
- iOS 单例模式的介绍和写法
- iOS两种官方的单例模式写法
- iOS开发之单例模式的写法
- ios单例模式的几种写法
- iOS开发笔记-两种单例模式的写法
- IOS开发-单例模式安全写法
- iOS开发单例模式的官方写法
- Activity与Service通信的四种方式
- Servlet
- 【iOS】plist、偏好设置,归档与解档
- 1
- 2
- 【iOS】三种单例模式写法
- 内部类(二)
- Java图形界面事件监听处理之四种方法
- 【iOS】const, static, extern使用详解
- 111. Minimum Depth of Binary Tree
- mysql5.5三种binlog日志格式
- javascript字符串中每个单词的首字母大写化问题
- localhost,127.0.0.1 和 本机IP 三者的区别
- POJ2063Investment