领域无法使用类型为“(Person)”的参数列表调用 'add'

Realm Cannot invoke 'add' with an argument list of type '(Person)'

这个错误太令人沮丧了。我只是想向我的 Realm 数据库添加一个对象,我已经到了复制和粘贴示例代码的地步,但它不起作用。所以我有一个 add person 方法可以做到这一点:

func addPerson(person person:Person){
    realm.beginWrite()
    realm.add(person)
    realm.commitWrite()
}

realm 变量在 class header 中是这样存储的:

private var realm:Realm

正在 init() 方法中初始化:

realm = Realm()

我的真人class长这样:

import UIKit

class Person {
var name:String?
var relation: Relations?
var title: String?
var importance:Double?
var events:Array<Event>?
var image:UIImage?
init(name:String,relation:Relations?,events:Array<Event>?,image:UIImage?){
    self.relation = relation
    if relation != nil{
        self.title = relation!.title
        self.importance = relation!.importance
    }
    else{
        self.title = nil
        self.importance = nil
    }
    self.events = events
    self.image = image
    self.name = name
}

init() {

}
}

这个错误非常令人沮丧,因为它看起来像 Person class 不符合 Object superclass,但实际上,这是唯一的选择

这只是我在评论中所说的总结:

使用 Object 作为 subclass 因为 class 必须成为 Realm 中的模型。