您的位置:首页 > 移动开发 > IOS开发

iOS 创建单例的两种方法

2015-08-28 19:52 309 查看
第一种方法

static AccountManager *DefultManager = nil;

+ (AccountManager *)defultManager{

if (!DefultManager)DefultManager = [[self allocWithZone: NULL] init];

return DefultManager;

}

iOS 4之后的另外一种方法

+ (AccountManager *)shareManager

{

static AccountManager *shareAccountManagerInstance = nil;

static dispach_once_t predicate;

dispatch_once(&predicate, ^{

shareAccountManagerInstance = [[self alloc] init];

});

return shareAccountManagerInstance;

}

该方法有以下几种特性:

1. 线程安全

2. 满足静态分析器的要求

3. 兼容ARC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: