Swift:可选或隐式 UILabel?

Swift: optional or implicit UILabel?

我正在尝试按照 MakeSchool 教程创建我的第一个 Swift 游戏并有一个问题。

当我尝试创建一个 UILabel 变量来将出口存储到标签时,Swift 建议我将其设为可选或隐式展开。

有没有更好或者更安全的款式?

通常 IBOutlet 引用将被隐式解包:

@IBOutlet weak var label: UILabel!

其实如果你control-从Interface Builder中的控件中拖拽出来,在辅助编辑器中为你创建源代码中的outlet,这正是outlet Xcode 将为您创建。

简而言之,使用隐式展开的 if,一旦设置,就假定它始终是非 nil

如果它是一个在生命周期中的任何时候可能是也可能不是 nil 的变量,您通常会使用标准可选。