【发布时间】:2015-11-03 16:59:54
【问题描述】:
我将一个隐式展开的可选声明为:
var numberOfRows: Int!
并在init中初始化:
numberOfRows = 25
稍后我需要将其减一,所以我写:
numberOfRows--
但这不会编译。错误消息说减量运算符不能应用于隐式展开的可选。通过一些实验,我发现以下编译没有错误:
numberOfRows!--
我想了解这一点。看起来像额外的“!”的解释是什么?
【问题讨论】:
-
为什么不跳过可选的并将您的 int 初始化为某些东西,例如
var numberOfRows:Int = 0?显式展开的可选项仍然是可选项。 -
这就是语言的工作原理。如果真的让您感到困扰,请写信
numberOfRows = numberOfRows - 1。