调用 Realm().objects 时使用未实现的初始化程序 'init(realm:schema:)'

Use of unimplemented initializer 'init(realm:schema:)' when calling Realm().objects

我正在尝试使用

检索 Realm 的对象
Realm(path: Realm.defaultPath).objects(Fruits)

这是我得到的结果:

12: 7: fatal error: use of unimplemented initializer 'init(realm:schema:)' for class DB.Fruits

该对象只有以下初始化:

required init() {
        super.init()
        nextPrimaryKey()
    }

我已经查看了有关 init() 问题的所有信息,但是其中 none 解决了问题(包括这个 )。知道如何解决吗?

RealmSwift.Object 目前不支持子类添加新的必需初始化器,仅支持 convenience 初始化器。有关初始化程序和尚不支持的内容的更多详细信息,请访问 https://github.com/realm/realm-cocoa/issues/1849

覆盖初始化 is now supported。但是,如果您覆盖 required init,则在使用 convenience init 作为指定的初始值设定项时,您可能 运行 会遇到此问题。这可以通过 删除 required init.

来解决

例如:

required init() {
    super.init()
}

convenience init(dict: [String: AnyObject]) {
    self.init()

    // custom init work
}

应该变成:

convenience init(dict: [String: AnyObject]) {
    self.init() // still calling self.init(), not super.init()

    // custom init work
}