单例
+ (id)sharedManager {
static id instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[[self class] alloc] init];
});
return instance;
}
单例的优点
1.这个方法可以在创建单例或者某些初始化动作时使用,以保证其唯一性。
1.这个方法可以在创建单例或者某些初始化动作时使用,以保证其唯一性。
2.该方法是线程安全的,所以请放心大胆的在子线程中使用。
(前提是你的dispatch_once_t *predicate对象必须是全局或者静态对象。这一点很重要,如果不能保证这一点,也就不能保证该方法只会被执行一次。)
3.使用简单,延时求值,易于跨模快