我需要创建这样的东西:

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有什么"奇怪的".

如果希望在有多对这样的属性时避免代码重复,可以编写一个可持久化的RealmIntRange领域对象.

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

然后在UserObject年里,

@Persisted var ageRange: RealmIntRange?

不幸的是,这必须是一个可选类型.

Swift相关问答推荐

启用完成并发判断以及如何解决警告(续)

按变换zoom 在UIView中不起作用

插入/删除视图时的Swiftui动态过渡

异步/等待函数的XCTAssertThrowsError

使 tabview 垂直将视图移动到右侧 swift ui

关闭 SwiftUI TabView 中的子视图

为什么 Swift URL 的 init?(string: String,relativeTo: URL?) 仅添加协议?

Observable.create 捕获行为

MainActor 隔离可变存储属性为何会出现可发送错误?

使 Picker 与其他 BinaryInteger 类型兼容

如何在 ZStack 中单独下移卡片?

带有屏幕参数的 NSWindow 初始化程序在初始化时导致致命错误

如何在 Swift 中返回 Task 中定义的变量

在 Swift 中,如何查看 Process() 传递给 shell 的字符串?

在运行时访问 UIView 宽度

获取设备图像比例(例如@1x、@2x 和@3x)

Swift 3.0 的 stringByReplacingOccurencesOfString()

Swift if 语句 - 多个条件用逗号分隔?

Swift 中的可选数组与空数组

Swift 中的单元测试致命错误