博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oc懒加载 & swift lazy
阅读量:6762 次
发布时间:2019-06-26

本文共 1009 字,大约阅读时间需要 3 分钟。

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

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

 

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

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

 

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

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

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

 

#pragma mark - getter
 
//------- 导航栏 -------//
- (CQCategoryDetailNaviView *)naviView {
    
if 
(!_naviView) {
        
_naviView = [[CQCategoryDetailNaviView alloc] initWithFrame:CGRectMake(
0
0
, screenWidth, 
64
)];
        
[self.view addSubview:_naviView];
    
}
    
return 
_naviView;
}
 
//------- 菜单栏 -------//
- (CQCategoryDetailMenuView *)menuView {
    
if 
(!_menuView) {
        
_menuView = [[CQCategoryDetailMenuView alloc] initWithFrame:CGRectMake(
0
64
, screenWidth, 
40
)];
        
[self.view addSubview:_menuView];
        
_menuView.cq_delegate = self;
    
}
    
return 
_menuView;
}
 
//------- 内容scrollView -------//
- (CQCategoryDetailScrollView *)scrollView {
    
if 
(!_scrollView) {
        
_scrollView = [[CQCategoryDetailScrollView alloc] initWithFrame:CGRectMake(
0
104
, screenWidth, screenHeight - 
104
)];
        
[self.view addSubview:_scrollView];
        
_scrollView.delegate = self;
    
}
    
return 
_scrollView;
}
 
http://www.cocoachina.com/ios/20170925/20636.html

转载地址:http://nzbeo.baihongyu.com/

你可能感兴趣的文章
入门--JTBC系统学习(1)
查看>>
我的Android进阶之旅------>怎样解决Android 5.0中出现的警告: Service Intent must be explicit:...
查看>>
单点登录实现机制:桌面sso
查看>>
JVM垃圾回收机制
查看>>
Oracle导出导入指定表
查看>>
訪问者模式的分析、结构图及基本代码
查看>>
Android Studio 2.3.3 添加ksoap2的引用(拒绝网上其他的忽悠),也适用于添加其他Jar的引用...
查看>>
sql改写or 改成union不等价数据变多
查看>>
How to skip to next iteration in jQuery.each() util?
查看>>
Android 音视频开发(一) : 通过三种方式绘制图片
查看>>
spring-data-jpa+hibernate 各种缓存的配置演示
查看>>
EmguCV(OpenCV)实现高效显示视频(YUV)叠加包括汉字
查看>>
oracle之 oracle database vault(数据库保险库)
查看>>
linux 条件测试 ******
查看>>
第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
查看>>
Expert 诊断优化系列------------------语句调优三板斧
查看>>
怎样使用下载的bootstrap模板?
查看>>
P1636 Einstein学画画
查看>>
TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
查看>>
java正则表达式:验证字符串数字
查看>>