MST

星途 面试题库

面试题:Objective-C中懒加载模式的基本实现步骤

请描述在Objective-C中实现懒加载模式的主要步骤,以一个自定义的属性为例进行说明,并且阐述懒加载模式在内存管理方面的优势。
19.2万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试

实现懒加载模式的主要步骤(以自定义属性customView为例)

  1. 声明属性:在类的接口部分声明需要懒加载的属性。
@interface MyViewController : UIViewController
@property (nonatomic, strong) UIView *customView;
@end
  1. 实现懒加载方法:在类的实现部分,通过重写属性的getter方法来实现懒加载。
@implementation MyViewController
- (UIView *)customView {
    if (!_customView) {
        _customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
        // 可以在这里对_customView进行进一步的初始化配置,如设置背景色等
        _customView.backgroundColor = [UIColor redColor];
    }
    return _customView;
}
@end

懒加载模式在内存管理方面的优势

  1. 延迟初始化:只有在真正需要使用该属性时才会进行初始化,避免了在对象创建时就初始化所有可能用到的资源,从而在程序启动或对象创建初期减少内存占用。例如,如果一个视图控制器中有多个可能用到但并非一开始就需要的视图,采用懒加载,在视图控制器创建时不会立即为这些视图分配内存,只有当访问到对应属性时才分配。
  2. 提高内存利用率:当一个对象中有多个属性,且部分属性使用频率较低时,懒加载能确保这些不常用属性只有在被使用时才占用内存,当该对象生命周期结束时,这些属性占用的内存也会随之释放,不会造成不必要的内存浪费。