懶加載:即延時(shí)加載楔壤,用時(shí)再加載,通過重寫get方法實(shí)現(xiàn)肌稻。
注意:
(1)重寫get方法時(shí)清蚀,先判斷當(dāng)前對(duì)象是否為空,為空的話爹谭,再去實(shí)例化對(duì)象枷邪。
(2)self. propertyName 和 _propertyName的區(qū)別:self. propertyName 會(huì)調(diào)用懶加載方法,而_propertyName只是直接訪問該實(shí)例變量诺凡,不會(huì)調(diào)用懶加載方法东揣。
優(yōu)點(diǎn):
(1)簡(jiǎn)化代碼,不必將創(chuàng)建對(duì)象的代碼全部寫在viewDidLoad方法,增強(qiáng)代碼可讀性;
(2)代碼之間獨(dú)立性強(qiáng)绑洛,松耦合;
(3)減小系統(tǒng)內(nèi)存使用率救斑。
示例如下:
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic,strong)NSMutableArray *dataArray;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.dataArrayaddObject:@"data1"];
}
-(NSMutableArray *)dataArray{
if(!_dataArray) {
_dataArray = [NSMutableArray array];
}
return _dataArray;
}
@end