Measurement
сами не поддерживаются Realm, но вы можете хранить их составные части.
A Measurement
- это просто значение с единицей измерения.Таким образом, для raceDistance
вы можете хранить
let raceDistance = RealmOptional<Double>()
@objc dynamic var raceDistanceUnit: String? = nil
И вы можете добавить вычисляемое свойство, подобное этому, чтобы получить Measurement<UnitLength>
из значения и единицы измерения:
var raceDistanceMeasurement: Measurement<UnitLength>? {
get {
if let distance = raceDistance.value, let unit = raceDistanceUnit {
return Measurement(value: distance, unit: UnitLength(symbol: unit))
}
return nil
}
set {
raceDistance.value = newValue?.value
raceDistanceUnit = newValue?.unit.symbol
}
}