В классе я определил личную константу, я пытаюсь использовать константу в качестве значения по умолчанию для параметра функции:
class Foo {
// instance variable
private let DefaultValue = 10
// Compiler error: Cannot use instance member 'DefaultValue' as a default parameter
public func doTask(amount: Int = DefaultValue) {
...
}
}
Но я получаю ошибку компилятора: Cannot use instance member 'DefaultValue' as a default parameter
.
Затем я также попытался объявить DefaultValue
как private static
:
class Foo {
// static variable
private static let DefaultValue = 10
// Compiler error: Static let 'DefaultValue' is private and cannot be referenced from a default argument value
public func doTask(amount: Int = DefaultValue) {
...
}
}
Но я получаю новую ошибку компилятора: Static let 'DefaultValue' is private and cannot be referenced from a default argument value
Мне нужно сохранить DefaultValue
private этому классу, и я хотел бы присвоить значение по умолчанию параметру функции с закрытой переменной, достижимо ли это в Swift 4?