「OC」视图控制器的懒加载策略
懒加载
懒加载(Lazy Loading)是一种设计模式,其核心思想是在需要时才进行对象的创建或资源的加载,而不是在对象初始化时立即完成。这种技术可以提高程序的性能和效率,减少资源的消耗。懒加载特别适用于那些创建代价高、内存占用大或者初始化过程复杂的对象。
懒加载的优点
- 性能提升:通过推迟对象的创建,减少了程序启动时的资源消耗和初始化时间。
- 内存优化:对象的创建和资源的加载在实际需要时才进行,有效节省了内存。
- 提高响应速度:初始化时不需要加载所有资源,使得程序在启动和运行时更加响应迅速。
- 降低复杂度:只在需要的时候才创建和初始化对象,有助于降低系统的复杂度。
注意:如果使用懒加载的话则一定要注意进行判空,如果为空那么再去进行实例化。
常见的懒加载实现方法
在 Objective-C 中,懒加载通常是通过重写 getter 方法来实现的。以下是一个示例:
#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) UILabel *label;
@end
@implementation ViewController
- (UILabel*) label {
if (!_label) {
_label = [[UILabel alloc]init];
_label.font = [UIFont systemFontOfSize:45];
_label.text = @"LazyLoad";
_label.frame = CGRectMake(120, 400, 260, 50);
_label.textColor = [UIColor blackColor];
}
return _label;
}
- (void) touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self label];
//点击后将label添加到视图
[self.view addSubview:self.label];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
@end
得到的内容如下,当我们点击屏幕懒加载的UILabel才会显示在屏幕之上

一般来说,对于需要直接加载在页面上的内容,我们不使用懒加载,直接进行普通加载即可,而那些不出现在首页需要点击才弹出的页面,才使用懒加载,可以有效缩短加载的时间

最低0.47元/天 解锁文章
1984

被折叠的 条评论
为什么被折叠?



