gpt4 book ai didi

ios - 如何使用 Realm Swift 保存值类型为 Measurement 的变量?

转载 作者:行者123 更新时间:2023-11-28 05:49:31 27 4
gpt4 key购买 nike

Realm Swift 是否支持保存和检索值类型为 Measurement 的数据?这是我要保存的数据的类结构:

class Race: Object {
@objc dynamic var raceDistance: Measurement<UnitLength>?
@objc dynamic var nettTime = Measurement<UnitDuration>?
}

最佳答案

Measurement s 本身不受 Realm 支持,但它们符合 Codable , 因此您可以保存它们的编码版本:

@objc dynamic var encodedRaceDistance: Data?
// Realm 10.10+
// @Persisted var encodedRaceDistance: Data?

你可以像这样添加一个计算属性来获得 Measurement<UnitLength>来自数据:

var raceDistanceMeasurement: Measurement<UnitLength>? {
get {
if let encoded = encodedRaceDistance {
return try? JSONDecoder().decode(Measurement<UnitLength>.self, from: encoded)
}
return nil
}

set {
if let newValue = newValue {
encodedRaceDistance = try? JSONEncoder().encode(newValue)
} else {
encodedRaceDistance = nil
}
}
}

关于ios - 如何使用 Realm Swift 保存值类型为 Measurement<UnitType> 的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53405878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com