【发布时间】:2016-11-01 20:58:19
【问题描述】:
我创建了一个结构来涵盖基于给定比例的豆类和水之间的转换。这是我目前的定义方式
public struct Coffee {
public var ratio:Double
public var beans:Measurement<UnitMass>
public var water:Measurement<UnitVolume> {
return Measurement(value: (beans.value * ratio), unit: .milliliters)
}
}
var cup = Coffee(ratio: 13.0, beans: Measurement(value: 30, unit: UnitMass.milligrams))
let computedWater = cup.water // 390 mL
这只能以一种方式起作用,给定或更改 bean。如何扩展结构以在更改水值时也允许计算和设置 bean?
想要的结果
cup.water = Measurement(value: 260, unit: .milliliters) // should set water and compute beans
print (cup.beans) // 20.0 mg
【问题讨论】:
标签: ios swift foundation data-conversion units-of-measurement