gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Swift 开发之懒加载的实例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

?
1
2
3
4
5
6
7
8
/// 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
}()
?
1
2
3
4
5
6
7
8
public var priority: Float {
     get {
       return internalTask.priority
     }
     set {
       internalTask.priority = newValue
     }
   }

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
  用到时再加载
  多次使用只加载一次
  */
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
}()

点击按钮打印 。

?
1
2
3
4
5
//MARK: 点击事件
func buttonClick(_ sender:UIButton)
{
    print( "----\(names.count)" )
}

看看控制台的打印结果:

?
1
2
3
4
5
6
7
8
9
------
 
----3
 
----3
 
----3
 
----3

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

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

原文链接:http://blog.csdn.net/robinson_911/article/details/74276479 。

最后此篇关于Swift 开发之懒加载的实例详解的文章就讲到这里了,如果你想了解更多关于Swift 开发之懒加载的实例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com