推广

iOS 更懒的懒加载

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

代码块里面无法使用数组

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://0291.com.cn/post/56529.html

相关文章

抖音出手,打响“嗜血”灰产狙击战

抖音出手,打响“嗜血”灰产狙击战

最近几天,运营社发现,抖音很多博主纷纷发布了自己的掉粉视频,称自己一夜之间被“清理”大量粉丝。   有的博主在社交平台分享,自己得时时关注,不然睡一觉粉丝少很多,内心难以承受……   业内人士告诉运营社,这些被清理掉的粉丝,要么是“...

实操总结 | 小程序裂变0成本获客3要素。

实操总结 | 小程序裂变0成本获客3要素。

本文主要分享下面3个方面:重新理解微信社交关系链,设计小程序的3个心得,小程序裂变实操案例详解。 本文来源于6月的鸟哥笔记“转化率提升秘术”线下公开课深圳站,全文6000字。 分享嘉宾:鉴锋,运营深度精选创始人 首先感谢大家今天在这里一起交流,我们主要是做营销方面,今天跟大家主...

直通车怎么优化人群(如何用直通车做精准人群)

直通车怎么优化人群(如何用直通车做精准人群)

为了优化消费人群,所以在直通车的投放之前,一般会提升关键词的质量分。而且对于每一个要加入直通车投放的商品而言都是需要提升质量分的。...

网站TAG标签优化之路。

网站TAG标签优化之路。

网站seo优化中是通过tag来实现,把各种与文章相关的关键词组合在一起,是能够给用户一种优质的搜索体验,而且这个tag的应用是能够起到增加收录数据的作用,其实在seo优化中tag的帮助还是很大的;在当下的这种模式各大CMS还有biog的系统里面都加入了tags;这个意思就是把所有的关键词都聚在一起以...

百度首页展示网站需要花钱吗?百度排名费用多少。

百度首页展示网站需要花钱吗?百度排名费用多少。

百度是互联网上流量占比多的平台,每天都有上亿的用户,因此百度一直在大量的企业挖掘各种商机,希望通过有效的方法在百度上展示自己的网站。因此,让我们来看看如何在百度上展示你的网站?百度SEO推广的具体费用是多少? 1、如何在百度上展示你的网站? 有两种方法可以在百度上显示您的网站: (...

网站不被收录的四大罪魁祸首。

网站不被收录的四大罪魁祸首。

网站优化中,网站收录是我们经常遇到的一个问题,网站文章不收录、网站加载速度快、网站链接结构差、网站被处罚等四个原因都是网站收录障碍的罪魁祸首,今天小编教你如何检查原因。 网站不被收录的四大罪魁祸首 一、网站被惩罚 你如何知道你的网站是否受到了惩罚?我们可以在百度搜索框中搜索自己网站的...

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

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