iOS开发笔记-两种单例模式的写法
2016-06-02 15:36
375 查看
单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下:
不使用GCD
使用GCD
dispatch_once这个函数, 它可以保证整个应用程序生命周期中某段代码只被执行一次!
不使用GCD
#import "ServiceManager.h" static ServiceManager *defaultManager; @implementation ServiceManager +(ServiceManager *)defaultManager{ if(!defaultManager) defaultManager=[[self allocWithZone:NULL] init]; return defaultManager; } @end
使用GCD
#import "ServiceManager.h" @implementation ServiceManager +(ServiceManager *)sharedManager{ static dispatch_once_t predicate; static ServiceManager * sharedManager; dispatch_once(&predicate, ^{ sharedManager=[[ServiceManager alloc] init]; }); return sharedManager; } @end
dispatch_once这个函数, 它可以保证整个应用程序生命周期中某段代码只被执行一次!
相关文章推荐
- IOS中的SandBox(沙盒机制)
- iOS 基础篇6—字典转模型
- iOS用户信息单例的创建
- iOS Real Stuff
- iOS 颜色填充
- iOS 毛玻璃效果参考
- iOS 基础篇5—KVC简单介绍
- iOS 基础篇4—懒加载
- iOS 基础篇3—手写控件,frame,center和bounds属性
- iOS如何去除小数点后无效的0
- iOS开发常用代码片段整理
- Cocoapods第三方管理工具的安装
- iOS开发之集成百度地图
- iOS 启动画面 代码自定义
- 【iOS】获取应用程序本地路径
- iOS应用支持IPV6,就那点事儿
- iOS中旋转加载动画的实现
- 干货——iOS本地推送与远程推送详解
- 谈谈iOS中粘性动画以及果冻效果的实现
- iOS打电话、发短信、发邮件功能