小编典典

问号'是什么意思?迅速地?

swift

在Swift编程中,我发现对象带有一些问号。

var window: UIWindow?

有人可以解释它的用法吗?


阅读 401

收藏
2020-07-07

共1个答案

小编典典

您可以使用iflet一起使用可能缺少的值。这些值表示为optionals。一个optional
值或者包含值或含有nil指示该值缺失。在值的类型后写一个问号(?),以将该值标记为optional

如果可选值为nil,则条件为,false并且括号中的代码将被跳过。否则,将解压缩可选值,并将其分配给之后的常量let,这将使解压缩后的值在代码块内可用。

摘录自:苹果公司“ The Swift Programming
Language”。iBooks。https://itun.es/pk/jEUH0.l

例如:

var optionalString: String? = "Hello"
optionalString == nil

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}

在此代码中,输出为Hello! John Appleseed。如果我们将的值设置optionalNamenil。在if有条件的结果将是false和里面的代码if会得到跳过。

2020-07-07