不完全是,你必须使用Optional Chaining.在swift中,实例只能nil是声明为"可选"类型.通常这看起来像这样:
var optionalString : String?
Run Code Online (Sandbox Code Playgroud)
注意?在String那之后是什么使得成为可能为零
除非您使用前面提到的可选链接,否则您无法在该变量上调用方法,除非您首先"解包"它.
使用可选链接,您可以深入调用多个方法,这些方法都允许返回nil值:
var optionalResult = optionalString.method1()?.method2()?.method3()
Run Code Online (Sandbox Code Playgroud)
optionalResult也可以是零.如果链中的任何方法返回nil,则不调用其后的方法,而是将OptionalResult立即设置为nil.
在明确处理它为零的情况之前,您无法直接处理可选值.您可以通过以下两种方式之一来实现:
println(optionalString!)
Run Code Online (Sandbox Code Playgroud)
如果它是nil,这将抛出一个运行时错误,所以你应该非常肯定它不是nil
您可以使用简单的if语句来完成此操作:
if optionalString {
println(optionalString!)
}
else {
// it was nil
}
Run Code Online (Sandbox Code Playgroud)
或者您可以将其分配给范围变量,这样您就不必强行打开它:
if let nonoptionalString = optionalString {
println(nonoptionalString)
}
else {
// it was nil
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |