这是我的init
:
extension NSNumberFormatter {
convenience init(digits: Int = 0) {
self.init() //ambiguous reference to member 'NSNumberFormatter.init'
groupingSeparator = " "
decimalSeparator = "."
numberStyle = .DecimalStyle
roundingMode = .RoundHalfDown
maximumFractionDigits = digits
minimumFractionDigits = digits
}
}
是什么原因?
同样的问题是当我将self.init()
放在我的便利初始化器的末尾时。
答案 0 :(得分:10)
原因是您创建了一个新的Output
075
035
,可以在没有任何参数的情况下调用,因为init
的默认值为digits
。现在,0
可以引用默认的初始化程序或新的初始化程序。如果删除init()
的默认值,则会编译。