懒加载
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方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合