ios單例模式

單例模式

這個類永遠只能創建一個對象 (同一個)

需要使用一個類方法來創建對象 讓這個類不能再創建不同對象了

步驟:

  1. 創建一個類 YQConfig
  2. 寫一個類方法
 ```
+(instancetype)config{
static YQConfig*instance;
static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{
    instance=[[YQConfig alloc]init];
});

return instance;

}

```
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    YQConfig*config1=[[YQConfig alloc]init ];
    NSLog(@"config1 %@ ",config1);
    
    YQConfig*config2=[[YQConfig alloc]init];
    NSLog(@"config2 %@ ",config2);
        
    YQConfig *config3=[YQConfig config];
    NSLog(@"config3  %@",config3   );

    YQConfig*config4=[YQConfig config ];
    NSLog(@"config4  %@ ",config4   );   
}
運行結果為:
2016-07-19 11:34:20.996 單例模式[5486:2851930] config1 <YQConfig: 0x7fcedae7dc90> 
2016-07-19 11:34:20.997 單例模式[5486:2851930] config2 <YQConfig: 0x7fcedad12410> 
2016-07-19 11:34:20.997 單例模式[5486:2851930] config3  <YQConfig: 0x7fcedac11ba0>
2016-07-19 11:34:20.997 單例模式[5486:2851930] config4  <YQConfig: 0x7fcedac11ba0> 
可以看出:最后兩個地址分配的是一樣的  
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容