使用未实现的初始化程序&#init;(领域:架构:)'调用Realm()。对象时

时间:2015-07-14 16:42:17

标签: ios swift realm

我尝试使用

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

这就是我得到的结果:

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

该对象只有以下init:

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

我已经查看了有关init()问题的所有信息,但是他们都没有解决问题(包括此almost-exact question)。知道怎么解决吗?

2 个答案:

答案 0 :(得分:4)

覆盖init is now supported。但是,如果您覆盖convenience init,则在使用required 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
}

答案 1 :(得分:0)

RealmSwift.Object目前不支持添加新的必需初始值设定项的子类,仅支持convenience个初始值设定项。有关初始值设定项以及尚未支持的内容的详细信息,请参阅https://github.com/realm/realm-cocoa/issues/1849