懶加載
1,懶加載 即 延遲處理,在需要的時候才加載(效率低,佔用內存小)。所謂懶加載,寫的是其get方法.
例如 @property (nonatomic,retain) UITextField *nameTextField; 如果你不 alloc/new
這個時候 nameTextField 只是一個指針 不會佔用內存 。
_ nameTextField 是 你定義的屬性名字
————————————————————
- (UITextField *) nameTextField
{
IF(_ nameTextField == nil){
_ nameTextField=[ [UITextField alloc]initWithFrame:CGRectMakeZero];
_ nameTextField.borderStyle = ...//在訪問器裏判斷此property的指針是否爲空,若爲空,就alloc/init,這時才真正生成這個對象
}
return _ nameTextField;
}
最後建議大家將Frame的設置寫到layoutSubviews之中,代碼如下
- (void)layoutSubviews
{
__ nameTextField.frame = .....
}
2.使用懶加載的好處:
(1)不必將創建對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強
(2)每個控件的getter方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,鬆耦合