在Realm中,创建新对象的正确方法是什么,而不为其中一个关系创建新对象?
我们说我的对象Person
与Job
实体有一对一的关系。
我的代码首先写入10个Jobs
个对象,然后使用之前创建的对象创建10个其他Person
个对象。
由于Person
之前不存在,update
的标志为false。
realm.add(person, update: false)
但是由于Job
对象已经存在,因此抛出了以下异常:
由于未捕获的异常终止应用' RLMException'。'无法设置 主要财产''现有价值''。'
答案 0 :(得分:0)
您似乎正在尝试使用主键定义Realm对象,但您没有修改键值。
例如:
class User: Object {
dynamic var user = ""
dynamic var year = ""
dynamic var id = ""
dynamic var workouts = 0
override static func primaryKey() -> String? {
return "id"
}
}
如果您未设置id
值,则会收到以下消息:
由于未捕获的异常'RLMException'而终止应用。'无法将主键属性''设置为现有值''。'
有几种方法可以解决它:
id
Object
醇>