In a class, I defined a private constant, I try to use the constant as a default value of parameter of a function:
class Foo {
// instance variable
priva
I don't think that is possible. The default value is inserted at the calling site, and therefore needs to be public, see also Access control in swift 4.
A possible workaround would be to make the parameter optional,
and substitute nil
by the default value locally:
class Foo {
private static let DefaultValue = 10
public func doTask(amount: Int? = nil) {
let amount = amount ?? Foo.DefaultValue
// ...
}
}