iOS开发之——单例的几种设计方式
2015-08-05 13:29
369 查看
单例是ios开发中常用的一种设计模式,通常用来控制器之间传值。方便、高效,全局通用。
单例模式的设计分为ARC和MRC。
ARC:
方式一
1、创建一个继承自NSObject的类。
2、在这个类的.h文件中声明类方法:
+ (instancetype)sharedInstance;
2、在这个类的.m文件中实现以下方法:
static id instance;
+ (instancetype)sharedInstance
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[super alloc] init];
});
return instance;
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [super allocWithZone:zone];
});
return instance;
}
方式二:
单例模式的设计分为ARC和MRC。
ARC:
方式一
1、创建一个继承自NSObject的类。
2、在这个类的.h文件中声明类方法:
+ (instancetype)sharedInstance;
2、在这个类的.m文件中实现以下方法:
static id instance;
+ (instancetype)sharedInstance
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[super alloc] init];
});
return instance;
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [super allocWithZone:zone];
});
return instance;
}
方式二:
相关文章推荐
- iOS后台挂起程序 当程序到后台后,继续完成Long-Running Task 任务
- iOS 引用外部静态库(.a文件)时,Category方法无法加载问题
- Xcode 文档安装-iOS 8.1 Documentation
- iOS 使用nib文件(一)
- 斯坦福大学iOS8公开课笔记04—先暂停学习
- iOS 判断身份证号码
- ios7适配一些问题
- NSCache在IOS中的使用
- iOS 使用Block实现界面间传值
- iOS Navigation自定义设置Item
- ios framework通用库的制作
- 史上最完整的iOS DIY framework 详细教程(二)
- iOS 在一个TableView内使用不同的Cell
- iOS 获取应用当前定位授权状态
- ios8后点击通讯录跳转
- iOS 9之New System Fonts(San Francisco 字体)
- iOS 8显示应用角标
- iOS开发中的测试框架
- iOS 调用另一个程序
- iOS开发之获取沙盒路径