iOS设计模式之一:单例模式
来源:互联网 发布:js删除cookie值的方法 编辑:程序博客网 时间:2024/05/29 16:41
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
#import <Foundation/Foundation.h> @interface Singleton : NSObject +(Singleton *) instance;@end @implementation Singleton+(Singleton *) instance { static Singleton *sharedSingleton_ = nil; @synchronized(self){ if(sharedSingleton_ == nil){ sharedSingleton_ = [NSAllocateObject([self class], 0, NULL) init]; } } return sharedSingleton_; } + (id) allocWithZone:(NSZone *)zone { return [[self sharedInstance] retain]; } - (id) copyWithZone:(NSZone*)zone { return self; } - (id) retain { return self; } - (NSUInteger) retainCount { return NSUIntegerMax; } -(void)release { [super release]; } - (id) autorelease { return self; } @end
当然iOS5 以上启用ARC就简单多了:
static RootViewController* sharedRootController = nil;
+(RootViewController *) sharedController{
@synchronized(self){
if (sharedRootController == nil) {
sharedRootController = [[self alloc] init];
}
}
return singleController;
}
0 0
- IOS设计模式之一:单例模式
- IOS设计模式之一:单例模式
- IOS设计模式之一:单例模式
- IOS设计模式之一:单例模式
- IOS设计模式之一:单例模式
- iOS设计模式之一:单例模式
- IOS设计模式之一(MVC模式,单例模式)
- iOS设计模式之一(MVC模式,单例模式)
- iOS设计模式之一:MVC模式和单例模式
- iOS设计模式之一(MVC模式,单例模式)
- IOS设计模式之一(MVC模式,单例模式)
- iOS设计模式之一(MVC模式,单例模式)
- IOS设计模式之一(MVC模式,单例模式)
- iOS设计模式之一(MVC模式,单例模式)
- iOS设计模式之一:MVC模式和单例模式
- ios设计模式之一(MVC模式,单例模式)
- iOS设计模式之一:MVC模式和单例模式
- IOS设计模式之一(MVC模式,单例模式)
- new 与 opeartor new【转】
- RichEditor for Android
- 阿里2015在线笔试,被虐坏了!
- Linux文件搜索命令
- MongoDB 地理位置索引
- iOS设计模式之一:单例模式
- Python Signal(信号) 异步系统事件
- ipython notebook在windows上的安装
- 02-线性结构2. 一元多项式求导 (25)
- ORACLE 11G没有备份控制文件参数文件在异机通过rman备份恢复找回被误删的数据
- [LeetCode][171][Excel Sheet Column Number]
- 开源GIS001
- 李红霞作业第二章13题
- 一天一段scala代码(十一)