单例的创建
//声明一个全局区的对象
//创建一个静态区的对象,原因是,它在内存中一直存在,这样对外界来说,可以随时读取数据
static DataHandle *dataHandle = nil;
//创建单例(伪单例)/*不是完整单例 */
+(instancetype)sharedDataHandle{
if (nil == dataHandle) {
//我们创建的单例使用 + 方法,原因是,在创建之前,无法存在一个实例对象去调用动态方法来创建它本身
dataHandle = [DataHandle new];
}
return dataHandle;
}
static Elite *elite = nil;
//两种创建单例的方法
+(instancetype)sharedElite{
//第一种写法
// @synchronized(self) {
// if (nil == elite) {
//
// elite = [[Elite alloc]init];
// }
// return elite;
// }
//第二种写法
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
elite = [[Elite alloc]init];
});
return elite;
}
网友评论