swift - Swift 中惰性变量的优势是什么

标签 swift

初始化的优势或区别是什么:

lazy var hintView: HintView = {
        let hintView = HintView()
        return hintView
}()

而不是简单地使用:

var hintView = HintView()

(HintView 是:class HintView: UIView {})

非常感谢您的帮助。

最佳答案

让我们实际操作一下。看截图

enter image description here

我刚刚在 viewDidLoad 中停止了调试器。您可以看到 secondHintView 有内存,因为它对存储不懒惰但是 hintView 仍然是 nil 因为这是一个懒惰的人。一旦您使用/访问惰性变量,就会分配内存。

还有 lazy 应该总是 var。

关于swift - Swift 中惰性变量的优势是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694691/

相关文章:

ios - 剩余的 UITextView 字符数

ios - 如何压缩多个数据而不是多个图像?

swift - 使 UITableViewCell 着色为特定百分比

ios - 动态缩放 UIButton 中的字体

swift - 是否可以将自定义手势识别器添加到 TVOS 应用程序的 View 中?

ios - Xcode 6.1 : Unknown class x in Interface Builder file

ios - 我想在 ios Swift3 的 UITextField 中动态插入逗号

Swift - 在整个结构中搜索字符串

ios - iPhone/iPad的UILabel如何设置粗体和斜体?

ios - SKAction 播放声音不是从头开始