Represent range value in RealmSwift?

问题描述 投票:0回答:1

我需要创建这样的东西:

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

swift range realm
1个回答
0
投票

除了一点点代码重复,我真的看不出将范围分成 2

Int
s 有什么“看起来很奇怪”。

如果你想在有多个这样的属性对时避免代码重复,你可以编写一个

RealmIntRange
可持久化的 Realm 对象。

class RealmIntRange: Object {
    @Persisted var min: Int = 0
    @Persisted var max: Int = 0
}

然后在

UserObject
,

@Persisted var ageRange: RealmIntRange?

不幸的是,这必须是可选类型。

© www.soinside.com 2019 - 2024. All rights reserved.