推广

iOS 更懒的懒加载

iseeyu2年前 (2024-02-22)推广118

代码块里面无法使用数组

LazyLoad 2.0

直到我看到 FDTemplateLayoutCell 的源码,看到 FDIndexPathHeightCache 里面有这么一个宏 FDPrimaryCall(...)

好奇心使我尝试了一下,神奇的发现它竟然可以在代码块里面写数组,于是研究了下,终于可以愉快的让所有懒加载都用上这个方便的宏了,实在是太感动了,感谢 Sunny 大神啊 ?

先来看看对比效果

对比

我承认我夸大了,实际的代码中肯定会有大量的换行,两边的实际代码量,不会有这样两倍的差距。

阿勒,被你们发现了,改进的宏不止加入了数组字典的支持,还加入了一个简短的临时变量 z, 可以让代码更简洁。不过按个人喜好,想用下划线变量也是可以的。

LazyLoad 最终版 !!!

#define GGLazyLoad(TypeNoPoint, Name, Code...) \
- (TypeNoPoint *)Name { \
    if (!_##Name) { \
        TypeNoPoint *z = nil; \
        Code; \
        _##Name = z; \
    }\
    return _##Name; \
}

#define GGLazyLoadNew(TypeNoPoint, Name, Code...) \
- (TypeNoPoint *)Name { \
    if (!_##Name) { \
        TypeNoPoint *z = [TypeNoPoint new]; \
        Code; \
        _##Name = z; \
    }\
    return _##Name; \
}

当然了,这个宏定义并不是完美的,它有些无法解决问题

  1. 代码块里面的代码,着色不够完美
  2. show document items(ctrl+6)这个列表里面,无法显示懒加载方法
  3. 还有无法断点调试

编辑器的问题

还有的问题,比如宏用多了影响编译速度啊,我觉得不太大,文件编译后都会有缓存。

最后,都 2020 年了,还在这里折腾 OC 是不是太落后了 ? 。

// Swift 
lazy var nameLabel: UILabel = {
    let z = UILabel.init()
    return z
}()

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56529.html

相关文章

做SEO优化不应该只限于几个关键词排名首页。

做SEO优化不应该只限于几个关键词排名首页。

SEO真的是一个很好的方式带来流量,订单和客户。近年来,许多企业在这一领域进行了投资。我们不需要探究效果,只需谈谈企业网站SEO的建议。 首先,很多企业对SEO还存在一些误解。总觉得几个热门关键词做搜索引擎首页就能达到目的。事实上,事实并非如此。我问一个首页的钥匙一定有客户吗?没人能保证...

钱能买到幸福吗?

钱能买到幸福吗?

钱能不能买到幸福,只有有钱人才知道答案...

我来分享做优化应该考虑哪几大问题。

我来分享做优化应该考虑哪几大问题。

未来seo将会出现新的操作模式,用户体验将成为SEO的核心,所以后期网站要不断提高用户体验认识,在定位上要学会换位思考,提高用户的满意度,在内部实质意义上减损垃圾文章、增加可读性高的文章,在界面预设上合乎用户浏览习性与操作习性,这都是提高用户体验认识的不二法门。 一、2022年网站日常监测工...

轻松制定WhatsApp Business营销策略

轻松制定WhatsApp Business营销策略

消息应用程序比任何社交媒体网络都变得更大、更受欢迎。拥有 20 亿活跃用户,WhatsApp 是最受欢迎的消息应用程序之一。除了非常受欢迎之外,它还可以帮助您与客户进行更具吸引力的一对一实时互动。此外,WhatsApp 是一个相对未开发的利基,可以让早期的初学者在竞争中占据...

对网站排名有影响的因素都有哪些。

对网站排名有影响的因素都有哪些。

做网站的应该都知道,有时候做着做着排名本来一直都很好,突然就掉了,这是让人非常生气的。其实我们在网站优化中可以影响到我们网站排名的因素是非常多的,比如外链、网站域名、友情链接等,都是可以影响到我们的网站的,所以在做网站优化的时候一定要小心再小心,下面小编就总结几点平常自己遇到对网站排名有影响的问题...

橙子软文:网络推广渠道有哪些

橙子软文:网络推广渠道有哪些

我们做和是为了有效,推广产品、服务和企业,吸引更多的关注和理解。如果要做到这一点,在互联网上推广和营销的有哪些?希望大家了解相关的引流和推广渠道。互联网推广引流渠道第一个学习的方法是短视频营销。短视频营销是现在带来流量的有效方式。其丰富、富有、感染力极强,能瞬间拉近与用户的...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片