懶加載代碼格式提取

@property(nonatomic,strong)UILabel *firstlab;
@property(nonatomic,strong)UILabel *lastlab;
@property(nonatomic,strong)UIImageView *icon;
@property(nonatomic,strong)UIButton *leftbtn;
@property(nonatomic,strong)UIButton *rightbtn;
@property(nonatomic,strong)NSArray *array;
@property(nonatomic ,assign)int i;


//延遲加載
/**1.圖片的序號標籤*/
-(UILabel *)firstlab
{
    //判斷是否已經有了,若沒有,則進行實例化
    if (!_firstlab) {
        _firstlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)];
        [_firstlab setTextAlignment:NSTextAlignmentCenter];
        [self.view addSubview:_firstlab];
    }
    return _firstlab;
}

從這個Label的UI控件懶加載分析:
1.-(UILabel *)firstlab和最上面聲明的firstlab類型和名字一樣UILabel *firstlab。

@property(nonatomic,strong)UILabel *firstlab;//聲明用strong

2 判斷是否已經有了,若沒有,則進行實例化
(!_firstlab) 沒有這個firstlab變量時判爲真進行實例化。

  _firstlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)];
        [_firstlab setTextAlignment:NSTextAlignmentCenter];
        [self.view addSubview:_firstlab];

3 將改變後的firstlab返回

return _firstlab;

引用上文:文老師所用懶加載描述

1.懶加載基本

懶加載——也稱爲延遲加載,即在需要的時候才加載(效率低,佔用內存小)。所謂懶加載,寫的是其get方法.

注意:如果是懶加載的話則一定要注意先判斷是否已經有了,如果沒有那麼再去進行實例化

2.使用懶加載的好處:

(1)不必將創建對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強

(2)每個控件的getter方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,鬆耦合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章