可变变量内部的变量

时间:2016-10-20 07:47:06

标签: swift

我有这样的事情:

let index = row.section?.index ?? -1

什么是row.section是零? 请帮助我理解这条线是如何工作的?

这很容易理解locationManager?.startUpdatingLocation():方法将在locationManager不是nil时执行。但是将赋值可选变量分配到notnull实例时让我感到困惑。

1 个答案:

答案 0 :(得分:2)

来自文档(https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html

nil-coalescing运算符(a ?? b)如果包含值,则展开可选a;如果a为n,则返回默认值b。表达式a始终是可选类型。表达式b必须与存储在。

中的类型相匹配

在这种情况下,如果row.section为nil,则整个表达式(row.section?.index)为nil,因此index将设置为-1

此行?msgbox (1,,22) ?Application.Version = 12# 应该不正确。它必须包含在let index = row.section?.index