我需要创建这样的东西:
import RealmSwift
class UserObject: Object {
@Persisted var ageRange: ClosedRange<Int>
}
但是我得到错误
Generic struct 'Persisted' requires that 'ClosedRange<Int>' conform to '_Persistable'
如何将
ClosedRange<Int>
映射到 realm 支持的单个对象(无需将 ClosedRange<Int>
拆分为 2 Int)?
附言注意:可能有类似的问题,但它们都是关于旧的 RealmSwift 版本,不涉及
@Persisted
除了一点点代码重复,我真的看不出将范围分成 2
Int
s 有什么“看起来很奇怪”。
如果你想在有多个这样的属性对时避免代码重复,你可以编写一个
RealmIntRange
可持久化的 Realm 对象。
class RealmIntRange: Object {
@Persisted var min: Int = 0
@Persisted var max: Int = 0
}
然后在
UserObject
,
@Persisted var ageRange: RealmIntRange?
不幸的是,这必须是可选类型。