swift - 'RLMException',原因 : 'Table has no columns'

标签 swift realm realm-mobile-platform realm-ios

这个问题我查了相关文章。 Issue in adding data in Realm in iOS

似乎只发布了以前的帖子,人们没有向变量添加动态。那不是我的情况。我根本找不到任何其他原因会失败。

Build target 12.2, swift version: Swift 5, realm version: swift-10.2.1

我的类(class):

class Person: Object {
    dynamic var id = UUID().uuidString
    dynamic var name = "" 
}

这就是我尝试添加到 Realm 的方式

    let realm = try! Realm()
    let person = Person()
    person.name = "John Doe"
    try! realm.write {
        realm.add(person)
    }

如有任何指点或建议,我们将不胜感激。非常感谢您阅读这篇文章。

最佳答案

您仍然需要 @objc变量中的属性。另见 here .

class Person: Object {
    @objc dynamic var id = UUID().uuidString
    @objc dynamic var name = "" 
}

编辑:

为了完整性,Realm 对象类可以标记为@objcMembers(Swift 4+),这将使所有标记为dynamic 的类属性由 Realm 管理。 See Property Attributes在 Swift 指南中。

关于swift - 'RLMException',原因 : 'Table has no columns' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57539007/

相关文章:

ios - 可选值上的 Swift KeyPath

swift - 将 CAShapeLayer 添加到 subview

java - Realm :通过 id 创建关系

ios - Realm 对象服务器 MacOs 错误

realm - 在 Realm Object Server 上的用户之间共享数据的最佳策略?

ios - 如何更改列表中的 ListStyle

ios - Alamofire POST 请求,正文中有一个简单的字符串作为参数, header 仍然显示缺少的参数值

java - 具有多个字段的 Realm java排序

android - RealmResults findAllAsync() 不返回任何内容

ssl - Realm Object Server - SSL配置导致ROS启动失败