美文网首页Marked Articles
UI 直接创建 & UI 懒加载

UI 直接创建 & UI 懒加载

作者: 天空中的球 | 来源:发表于2016-06-01 22:56 被阅读248次

在我们用代码创建 UI 的时候,目前来说分为直接创建和懒加载创建,在我们公司这个就很明显。为了统一代码风格,我们必须做出一些选择。

// 直接创建
UILabel *testLabel = [[UILabel alloc] init];
// getter
- (UILabel *)testLabel {
    if(!_testLabel) {
        _testLabel = [[UILabel alloc] init];
    }
    return _testLabel;
}

首先来说一下懒加载,懒加载——也称为延迟加载,即在需要的时候才加载。所谓懒加载,写的是其getter方法。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。

** 优点很明显:**

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

特别是美观上,一连串的 UI 创建放在一起,有时真是受不了,做了懒加载后,美观性真的舒服多了。但是同时也要注意,用懒加载后,效率是变低的

提醒:懒加载也是苹果公司提倡的做法。iOS系统中很多地方都用到了懒加载的方式,比如 ViewController中的View的创建。

- (UIView *)view {
    if (!_view) {
        [self loadView];
        [self viewDidLoad];
    }
    return _view;
}

总的说来,我是认为在大部分情况下是可以用懒加载的,特别是需要复用的,对效率要求没那么高的。
当然如果某些情况下,如自定义UICollectionViewCell中 UI 的时候,需要考虑整体性能,效率之类的,直接创建UI会好一点

[田伟宇大神获取的图片](http://casatwy.com/iosying-yong-jia-gou-tan-viewceng-de-zu-zhi-he-diao-yong-fang-an.html)

另外提到懒加载这种写法,我想我还是比较喜欢在 VC 中按上述田伟宇大神推荐的格式这样写,至少 UI 不要写在一坨。当然数量特别多的时候或者说整个项目团队的风格都不是这样的,也还是需要考虑的。

**PS :看完这篇文章感觉会更深: 惰性计算辨析 **

相关文章

  • UI 直接创建 & UI 懒加载

    在我们用代码创建 UI 的时候,目前来说分为直接创建和懒加载创建,在我们公司这个就很明显。为了统一代码风格,我们必...

  • 关于vue项目中的坑

    1、关于路由的懒加载问题: 1.1、关于dom的懒加载问题:(mint-ui里面有或者直接 npm i lazyl...

  • VUE首屏加载优化

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

  • Fragment 懒加载实战

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

  • Fragment 懒加载实战

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

  • iOS-UI-懒加载

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

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

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

  • 相关插件

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

  • iOS UI 懒加载

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

  • [iOS] 卡顿优化

    目录: UI相关问题 [NSThread callStackSymbols]引发的卡顿 cell的view懒加载 ...

网友评论

    本文标题:UI 直接创建 & UI 懒加载

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