美文网首页程序员
iOS UI 懒加载

iOS UI 懒加载

作者: 阳光下慵懒的驴 | 来源:发表于2016-05-13 12:50 被阅读246次

懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其getter方法。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。
懒加载的核心在于:要注意先判断对象是否已经存在,如果不存在再实例化

使用懒加载的好处:

  • 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
  • 每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合
  • 只有当真正需要资源时,再去加载,节省了内存资源。

实例:

#import "ViewController.h"

@interface ViewController ()
@property (nonatomic, retain) UIButton * lazyButton;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self createViews];
}
- (void)createViews{
    // 在这里一定要写"self.",而不能使用下划线"_"。因为会发生引用计数的变化
    [self.lazyButton setTitle:@"button" forState:UIControlStateNormal];
}
// button的getter延迟加载
- (UIButton *)lazyButton{
    if(_lazyButton == nil){
        self.lazyButton = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2 - 50, self.view.frame.size.height/2 - 20, 100, 40)];
        [self.view addSubview:_lazyButton];
    }
    [_lazyButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [_lazyButton setBackgroundColor:[UIColor blackColor]];
    return _lazyButton;
}

相关文章

  • iOS-UI-懒加载

    原文找不到了 iOS-UI-懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内...

  • iOS UI 懒加载

    懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其getter方法。说的通...

  • VUE首屏加载优化

    (1)组件按需加载;对Element-UI, Mint-UI组件进行按需加载;(2)路由组建懒加载;异步加载con...

  • Fragment 懒加载实战

    1 Fragment 懒加载是什么意思? 所谓懒加载,即Fragment 的 UI 对用户可见时才加载数据。 以前...

  • Fragment 懒加载实战

    1 Fragment 懒加载是什么意思? 所谓懒加载,即Fragment 的 UI 对用户可见时才加载数据。 以前...

  • Swift的懒加载和只读属性的介绍

    懒加载 在 iOS 开发中,懒加载是无处不在的 懒加载的格式如下: lazy var person: Person...

  • Fragment 的懒加载,为什么 ViewPager.setO

    Fragment 懒加载是什么意思? 所谓懒加载,即Fragment 的 UI 对用户可见时才加载数据。 以前我没...

  • 2018-12-21

    iOS开发中懒加载遇到的坑 正常写一个懒加载对象 - (MAMapView*)mapView{ if(nil=...

  • 相关插件

    axios vue-router vuex vue-lazyload 图片懒加载 element-ui 按需加载 ...

  • Swift懒加载

    懒加载的2个好处:延迟加载属性(UI类型控件一般都会延迟加载)在后边的代码中,延迟加载的属性,不用再强制解包 懒加...

网友评论

    本文标题:iOS UI 懒加载

    本文链接:https://www.haomeiwen.com/subject/tetmrttx.html