领域无法使用类型为“(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 中的模型。
这个错误太令人沮丧了。我只是想向我的 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 中的模型。