【发布时间】:2016-04-05 07:23:59
【问题描述】:
我在尝试更新现有 Realm 模型的迁移方案时遇到了一个奇怪的错误。
具体来说,我尝试通过添加一个存储另一个领域对象的属性来更新模型。
但是,无论我如何尝试(即使尝试删除以前的对象并将其替换为新对象),领域都会崩溃并出现以下错误“RMOHomebook.general 属性必须标记为可选”
有没有办法做到这一点?为什么我需要将该属性标记为可选,因为它永远不会是可选的。
非常感谢!
【问题讨论】:
我在尝试更新现有 Realm 模型的迁移方案时遇到了一个奇怪的错误。
具体来说,我尝试通过添加一个存储另一个领域对象的属性来更新模型。
但是,无论我如何尝试(即使尝试删除以前的对象并将其替换为新对象),领域都会崩溃并出现以下错误“RMOHomebook.general 属性必须标记为可选”
有没有办法做到这一点?为什么我需要将该属性标记为可选,因为它永远不会是可选的。
非常感谢!
【问题讨论】:
RMOHomebook.general 属性是Object 的子类类型吗? RealmSwift 不支持创建可选的 Object 类型属性。这是目前Realm底层存储引擎的局限。
一对一的关系必须是可选的
https://realm.io/docs/swift/latest/#relationships
另见领域对象定义备忘单。 https://realm.io/docs/swift/latest/#cheatsheet
【讨论】: