我正在尝试使用主键更新/添加到Realm数据库。我使用Realm文档中的以下代码段:
var person = ["personID": "My-Primary-Key", "name": "Tom Anglade"]
// Update `person` if it already exists, add it if not.
let realm = try! Realm()
try! realm.write {
realm.add(person, update: true)
}
但是当我尝试实现它时,它返回此错误:
Cannot convert value of type '[String : String]' to expected argument type 'Object'
我有点卡在这里,所以任何帮助将不胜感激!
答案 0 :(得分:2)
您使用的方法不支持Dictionary的更新,我认为您正在尝试使用create(_:value:update:)
版本。
try! realm.write {
realm.create(Person.self, value: person, update: true) // here person is dictionary with attributes for updating person
}
您还可以使用add(_:update:)
方法,但是它要求您将领域 Object
传递给它。
let person = Person()
person.name = dict["name"]
...
let realm = try! Realm()
try! realm.write {
realm.add(person, update: true) // here person is Object of type Person
}
Here是Realm的官方文档。