oc懒加载 & swift lazy

oc的懒加载依赖于属性的双重属性的函数属性部分。

懒加载的本质是执行get函数。

 

swift的lazy,理论上与此类似。

编译器优化时可能对初始化块进行了保存。

 

懒加载的本质是延迟执行。

只要是执行,必定有调用;

只要有延迟,必然有保存。

 

#pragma mark - getter
 
//------- 导航栏 -------//
- (CQCategoryDetailNaviView *)naviView {
    if (!_naviView) {
        _naviView = [[CQCategoryDetailNaviView alloc] initWithFrame:CGRectMake(00, screenWidth, 64)];
        [self.view addSubview:_naviView];
    }
    return _naviView;
}
 
//------- 菜单栏 -------//
- (CQCategoryDetailMenuView *)menuView {
    if (!_menuView) {
        _menuView = [[CQCategoryDetailMenuView alloc] initWithFrame:CGRectMake(064, screenWidth, 40)];
        [self.view addSubview:_menuView];
        _menuView.cq_delegate = self;
    }
    return _menuView;
}
 
//------- 内容scrollView -------//
- (CQCategoryDetailScrollView *)scrollView {
    if (!_scrollView) {
        _scrollView = [[CQCategoryDetailScrollView alloc] initWithFrame:CGRectMake(0104, screenWidth, screenHeight - 104)];
        [self.view addSubview:_scrollView];
        _scrollView.delegate = self;
    }
    return _scrollView;
}
 
http://www.cocoachina.com/ios/20170925/20636.html
posted @ 2018-06-06 14:23  zzfx  阅读(359)  评论(0编辑  收藏  举报