【发布时间】:2019-07-09 08:00:20
【问题描述】:
我想为Double 写一个扩展,这样它就可以给Int 值。
extension Double {
func toPercentage() -> Int {
var mutableSelf = self
var twoDigits = Double(round(1000*mutableSelf)/1000)
return Int(twoDigits) * 100
}
}
在线var twoDigits = Double(round(1000*mutableSelf)/1000)编译器抛出红色-Cannot use mutating member on immutable value: 'self' is immutable
但我确实将 self 重新分配给了 mutableSelf 变量。 Double是struct,不是引用类型,为什么会报错?
【问题讨论】:
-
试试
var mutableSelf = Double(self)? -
@zaitsman 是对 Double 的扩展,对 Double(self) 有什么意义?
标签: swift