标签:style color 使用 ar 文件 sp on c amp
单例:一个类只有一个实例,在外部创建对象时,不能用alloc.(只要alloc,就会在堆区开辟空间,就意味着有多个对象)所以我们要提供一个创建对象的方法:2.返回值类型为当前类
3.方法名以default ,standared,main,shared等开头 + 当前类名
在.h文件中声明
+ (Person *)sharePerson;
+ (Person *)sharePerson {
声明为static,保证变量在程序运行期间不会回收,而且只保证初始化一次
单例的空间在程序的运行期间不回收,要谨慎使用,否则会造成内存堆积
static Person *person =
nil;
if (!person) {
person = [[Person alloc]
init];
}
return person;
}
+ (Person *)sharePerson {
多线程写法
static
Person *person =
nil;
@synchronized(self) {
if (person ==
nil) {
person = [[Person
alloc]
init];
}
}
return person;
}
+ (Person *)sharePerson {
static
Person *person =
nil;
static
dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
保证只执行一次,不管是多线程,还是单线程
person = [[Person
alloc]
init];
});
return person;
}
标签:style color 使用 ar 文件 sp on c amp
原文地址:http://blog.csdn.net/hakusan/article/details/39393675