使用可选绑定在单个元素上调用可选链接是什么意思?
例如,以下两个是否在场景后面产生相同的结果?
可选绑定
var str:String!
if let s = str {
}
使用单个元素可选链接的可选绑定
var str:String!
if let s = str? {
}
答案 0 :(得分:1)
这两个示例在功能上是相同的,但为什么要尝试在该场景中使用可选链接?可选链接适用于您想要获取变量的属性或方法,但您不知道它是否为零。如果您只需要检查变量本身,只需使用第一个示例中的可选绑定。
答案 1 :(得分:1)
请参阅Swift一书中有关“可选链接表达式”的部分(在语言参考 - >表达式 - > Postfix表达式中)。
就其本身而言,后缀? operator只是返回它的值 参数作为可选参数。
您正在使用“自己”的可选链接,即不在后缀表达式中。因此,?
运算符求值为可选,但它已经是可选的。所以这两段代码完全相同。