IOS 单例模式
浏览数:16 /
时间:2015年06月11日
所有编程语言的单例模式都大同小异。Object-c, Java, C++等,跟语言没有太大关系,只跟语法有点关系而己。
在IOS 中假如你有一个类:AccountManager,你要定义单例则步法如下:
一. 在.h文件中应该有类似如下定义:
+ (id) sharedInstance;
二. 在.m文件内类应该有如下定义:
//声明一个全局唯一的静态对象,也是AccountManager类型
static AccountManager * _sharedInstance;
//方法实现
+ (id) sharedInstance {
@synchronized ([AccountManagerclass]) {
if (_sharedInstance == nil) {
_sharedInstance = [[AccountManageralloc] init];
}
}
return_sharedInstance;
}
三. 你在别的类对象中如果要使用该单例,并调用该单例的某方法(todoSomething)为:
[[AccountManager sharedInstance] todoSomething ];
附加说明:
1。 sharedInstance这个名字是我习惯用的,你可以用别的名字,任意,总之就是保持AccountManager这个类在整个应用程序运行期间只能有一个实例
2。 这里的例子给你实现的是“懒汉式” 单例, 还有另外的单例方式也可以完成任务,如“饿汉式”单例。 如果你不清楚什么是懒汉和饿汉你可以再Google上查到
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。