Swift 开发之懒加载的实例详解

发布时间 - 2026-01-11 03:17:28    点击率:

Swift 开发之懒加载的实例详解

/// A display link that keeps calling the `updateFrame` method on every screen refresh. 
private lazy var displayLink: CADisplayLink = { 
  self.isDisplayLinkInitialized = true 
  let displayLink = CADisplayLink(target: TargetProxy(target: self), selector: #selector(TargetProxy.onScreenUpdate)) 
  displayLink.add(to: .main, forMode: self.runLoopMode) 
  displayLink.isPaused = true 
  return displayLink 
}() 

public var priority: Float { 
    get { 
      return internalTask.priority 
    } 
    set { 
      internalTask.priority = newValue 
    } 
  } 

一个VC上放了一个按钮,然后点击按钮打印刚刚定义的懒加载对象names,按理说“--------------”应该只打印一次

/* 
 用到时再加载 
 多次使用只加载一次 
 */ 
lazy var names :[String] = { 
  let names = ["why", "lmj", "swd"] 
  print("------") 按理说应该只打印一次 
  return names 
}() 
 
//方式一:仅仅创建button 
lazy var btn1:UIButton = UIButton() 
 
//方式二:可以设置更多btn的属性 
lazy var btn :UIButton = { 
  let btn = UIButton() 
  btn.setTitle("按钮", for: .normal) 
  btn.setImage(UIImage(named:""), for: .normal) 
  return btn 
}() 

点击按钮打印

//MARK: 点击事件 
func buttonClick(_ sender:UIButton) 
{ 
   print("----\(names.count)") 
} 

看看控制台的打印结果:

------

----3

----3

----3

----3

从以上结果可以看出“--------------”确实只打印了一次。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Swift  # 懒加载  # 懒加载的实例  # 懒加载如何实现  # Swift中的HTTP模拟测试示例详解  # Swift中的HTTP请求体Request Bodies使用示例详解  # swift版webview加载网页进度条效果  # Swift快速集成下拉刷新和上拉加载更多示例代码  # Swift HTTP加载请求Loading Requests教程  # 加载  # 按理说  # 如有  # 希望能  # 可以看出  # 谢谢大家  # 时再  # 疑问请  # target  # TargetProxy  # CADisplayLink  # displayLink  # isDisplayLinkInitialized  # true  # selector  # runLoopMode  # isPaused  # return  # forMode  # onScreenUpdate 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建支持数据库操作的智能建站平台?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  实例解析Array和String方法  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  Bootstrap整体框架之JavaScript插件架构  Laravel如何使用Eloquent进行子查询  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  iOS正则表达式验证手机号、邮箱、身份证号等  如何在腾讯云服务器上快速搭建个人网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  原生JS实现图片轮播切换效果  千库网官网入口推荐 千库网设计创意平台入口  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  如何在阿里云ECS服务器部署织梦CMS网站?  Python结构化数据采集_字段抽取解析【教程】  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  公司网站制作价格怎么算,公司办个官网需要多少钱?  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  jQuery validate插件功能与用法详解  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  香港服务器选型指南:免备案配置与高效建站方案解析  使用豆包 AI 辅助进行简单网页 HTML 结构设计  JavaScript常见的五种数组去重的方式  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  如何快速搭建二级域名独立网站?  微信小程序 配置文件详细介绍  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  北京的网站制作公司有哪些,哪个视频网站最好?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何构建满足综合性能需求的优质建站方案?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明