【发布时间】:2020-05-11 05:04:06
【问题描述】:
我在 Swift 5.1 和 Swift UI 中检查属性包装器的概念,并遇到了属性包装器的概念,如 @state、@ObservedObject 和 @Published,它们是作为属性包装器实现的(据我所知)。
所以只是好奇的一个问题是苹果最初将@IBOutlet 实现为属性 包装?
【问题讨论】:
我在 Swift 5.1 和 Swift UI 中检查属性包装器的概念,并遇到了属性包装器的概念,如 @state、@ObservedObject 和 @Published,它们是作为属性包装器实现的(据我所知)。
所以只是好奇的一个问题是苹果最初将@IBOutlet 实现为属性 包装?
【问题讨论】:
没有。 @IBOutlet 是一个“声明属性”,记录在 here。
【讨论】:
IBOutlet 是添加到变量声明中的关键字。这是一个指标。它不会以任何方式影响声明。但是,当 Interface Builder 看到它时,它会允许程序员通过 Interface Builder 内部的“出口”机制来设置这个变量。
【讨论】: