【发布时间】:2017-01-07 19:22:33
【问题描述】:
在 Swift 2 中,可以执行以下操作:
class SomeType {
static let singletonInstance = SomeType()
func someFunction(var mutableParameter: SomeType = SomeType.singletonInstance) {
...
}
}
但是在 Swift 3 中,函数参数的 var 关键字将被删除,取而代之的是 inout。我无法使用inout 关键字获得与上述相同的结果。
class SomeType {
static let singletonInstance = SomeType()
func someFunction(inout mutableParameter: SomeType = SomeType.singletonInstance) {
...
}
}
相反,我收到“无法将类型 'SomeType' 的默认参数值转换为类型 'inout SomeType'”的错误
我的问题是是否可以使用 inout 的默认值?
【问题讨论】:
-
在签名中使用
var与使用inout不相同。它只是使参数 locally 可变。 -
stackoverflow.com/questions/36164973/… 应该回答你的问题。
标签: swift function default-value swift3 inout