使用主键更新领域对象 (Swift)
Updating Realm Object With Primary Key (Swift)
我正在尝试 update/add 使用主键访问 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)
}
但是当我尝试实现它时,它 returns 这个错误:
Cannot convert value of type '[String : String]' to expected argument type 'Object'
我有点被困在这里,非常感谢任何帮助!
您使用的方法不支持使用词典更新,我认为您尝试使用 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:)
方法,但它需要您将 Realm 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 文档。
我正在尝试 update/add 使用主键访问 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)
}
但是当我尝试实现它时,它 returns 这个错误:
Cannot convert value of type '[String : String]' to expected argument type 'Object'
我有点被困在这里,非常感谢任何帮助!
您使用的方法不支持使用词典更新,我认为您尝试使用 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:)
方法,但它需要您将 Realm 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 文档。