标签:
所有编程语言的单例模式都大同小异。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上查到标签:
原文地址:http://www.cnblogs.com/daijiahong/p/4428110.html