【发布时间】:2014-06-03 21:47:33
【问题描述】:
在 Swift 中的属性定义到底有什么区别:
var window: UIWindow?
对
var window: UIWindow
我读过它基本上是一个“可选”,但我不明白它的用途。
这是在创建一个名为 window 的类属性,对吗?那么'?'的需要是什么
【问题讨论】:
-
在文档中了解它:developer.apple.com/library/prerelease/ios/documentation/Swift/…。这是 Swift 的一个基本概念
-
此外,对这个问题的所有反对票都无缘无故地让我不想在这里尽我所能提供帮助。
-
我认为在这种情况下,窗口可能未初始化/不可用。因此,通过将其定义为
optional,如果您调用window.addSubView(),它将不会解包而只是返回nil -
optional的更好示例是delegate属性。这将允许您在不检查delegate是否为nil的情况下调用delegate.protocolFunction()。请务必在文档中阅读有关它的内容,尽管它在解释方面做得很好! -
回答编辑后发现已经有人问过了。
标签: ios swift optional-values