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

标签 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 )。知道如何解决吗?

最佳答案

覆盖 init is now supported 。但是,如果您覆盖必需的 init,则在使用便利 init 作为指定初始值设定项时可能会遇到此问题。这可以通过删除所需的 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
}

关于ios - 调用 Realm().objects 时使用未实现的初始化程序 'init(realm:schema:)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31412576/

相关文章:

ios - 在React Native中滑动动画

ios - 在字符串中查找数字并计算,插入字符串中(Swift)

ios - 在通过桥接 header 导入的 Objective-C 文件中使用 "Availability.h"

ios - 使用 createOrUpdate 的 Realm 部分更新不起作用

ios - 用 Realm Swift 中的结果中的一些项目制作一个列表

ios - 您的帐户没有创建 iOS 分发证书的权限

ios - 多个查询返回错误结果

ios - 为什么我们必须在调用 addChild(UIViewController) 之后调用 func didMove(toParent Parent : UIViewController? ) ?

ios - 选择深色模式后如何重新加载 View ?

swift - 出现错误 : Use of unresolved identifier "LinkingObjects"