iOS-设计模式之单例
2015-12-03 23:19
525 查看
单例模式就是一个类在整个程序的生命周期中只创建一个实例
实现过程:
该方法采用的时GCD技术,dispatch_once是GCD提供的函数,它在整个程序的生命周期中只执行一次代码块中的语句,用此种方法创建的单例会自动线程同步,在多线程下是安全的。
使用单例的目的:
1,共享资源(属性)
2,共享方法
3,减少类的多次创建(优化性能)
系统单例:
比如UIApplication, NSFileManager,NSBundle, NSNotificationCenter, NSUserDefaults.
本文GitHu地址https://github.com/zhangkiwi/iOS_SN_Singclass
实现过程:
// Singclass.h #import <Foundation/Foundation.h> @interface Singclass : NSObject @property(nonatomic,strong)NSString *name; + (id)share_id; @end // Singclass.m #import "Singclass.h" @implementation Singclass + (id)share_id { static Singclass *singClass = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ singClass = [[Singclass alloc]init]; }); return singClass; } @end
该方法采用的时GCD技术,dispatch_once是GCD提供的函数,它在整个程序的生命周期中只执行一次代码块中的语句,用此种方法创建的单例会自动线程同步,在多线程下是安全的。
使用单例的目的:
1,共享资源(属性)
2,共享方法
3,减少类的多次创建(优化性能)
系统单例:
比如UIApplication, NSFileManager,NSBundle, NSNotificationCenter, NSUserDefaults.
本文GitHu地址https://github.com/zhangkiwi/iOS_SN_Singclass
相关文章推荐
- 关于第三方IOS的checkBox框架的使用
- ios入门第一课
- 项目适配iOS9遇到的一些问题及解决办法(更新两个小问题)
- IOS 入门之基础控件学习1
- IOS ---设置导航栏
- iOS初体验
- IOS 退出程序APP代码
- 蓝懿ios 技术内容和心得 12.3
- iOS-OC-基础-NSPredicate常用方法
- iOS开发见闻-第9期
- iOS 6.0 Masonry自动布局表头/表尾时崩溃解决方案
- iOS开发 - 百度地图
- XCode安装插件无效的解决办法
- iOS开发之图片拉伸
- iOS 国际化
- [iOS] 使用CIColorCube快速製作濾鏡
- 浅析iOS的@property属性
- IOS程序之间的文件共享
- iOS Get同步与异步
- Local declaration of 'XXX' hides instance variable