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
、デフォルト値で使用できるかどうかです。