'RLMException',原因:'表没有列'

Ali*_*lix 3 realm swift realm-mobile-platform realm-ios

我已经检查了有关此问题的相关文章。 在 iOS 的 Realm 中添加数据的问题

似乎只是在上一篇文章中指出人们没有向变量添加动态。这不是我的情况。我根本找不到任何其他原因导致它失败。

构建目标 12.2,swift 版本:Swift 5,领域版本:swift-10.2.1

我的课:

class Person: Object {
    dynamic var id = UUID().uuidString
    dynamic var name = "" 
}
Run Code Online (Sandbox Code Playgroud)

这就是我试图添加到领域的方式

    let realm = try! Realm()
    let person = Person()
    person.name = "John Doe"
    try! realm.write {
        realm.add(person)
    }
Run Code Online (Sandbox Code Playgroud)

任何指针或建议将不胜感激。非常感谢您阅读这篇文章。

Jos*_*osh 8

您仍然需要变量中的@objc属性。另请参阅此处

class Person: Object {
    @objc dynamic var id = UUID().uuidString
    @objc dynamic var name = "" 
}
Run Code Online (Sandbox Code Playgroud)

编辑:

为了完整起见,Realm 对象类可以标记为@objcMembers(Swift 4+),这将使所有标记为动态的类属性都由 Realm 管理。请参阅Swift 指南中的属性属性