标签:
单例模式的优点:
单例模式的缺点:
单例模式的使用场景:
单例类的创建
#import <Foundation/Foundation.h>
@interface ContactHelper : NSObject
// 创建单例方法
+ (ContactHelper *)shareContactHelper;
@end
#import "ContactHelper.h"
@implementation ContactHelper
+ (ContactHelper *)shareContactHelper{
static ContactHelper *helper = nil;
// 处理多线程的数据安全,加上@synchronized就能保证我们这个了方法同一时刻只能被一条线程访问
@synchronized(self) {
if (helper == nil) {
helper = [[ContactHelper alloc]init];
}
}
/* 多线程下的最安全写法
static ContactHelper *helper = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (helper == nil) {
helper = [[ContactHelper alloc] init];
}
});
*/
return helper;
}
标签:
原文地址:http://www.cnblogs.com/Mr-zyh/p/5440520.html