單例的創建
//聲明一個全局區的對象
//創建一個靜態區的對象,原因是,它在內存中一直存在,這樣對外界來說,可以隨時讀取數據
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;
}