创建Swift Realm Object时缺少参数参数

时间:2017-09-30 22:06:04

标签: ios swift realm

我正在创建一个继承自User RealmSwift's的简单Object对象:

import Foundation
import RealmSwift

class User: Object {

    @objc dynamic var userId: String = ""
    @objc dynamic var email: String = ""

convenience init(userId: String, email: String) {

    self.init()

    self.userId = userId
    self.email = email

}

构建时,我收到以下错误Missing argument for parameter 'userId' in call

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

为什么要使用便利初始化程序?您可以使用Realm的默认初始化程序

初始化用户
let user = User(value: ["userID": "1234", "email": "email@gmail.com"])

答案 1 :(得分:0)

就目前而言,你还没有编写一个接受0参数的初始值设定项,但你现在正在调用它......

您可以删除“方便”一词,然后更改一行:

self.init() 

super.init()

并且错误将消失,对象将被正确初始化。 这是因为超类Object 确实有一个不带参数的初始值。