例如:
class User: Object {
dynamic var name: String = "Thor"
dynamic var profile: Profile?
}
class Profile: Object {
dynamic var id: Int = 0
override static func primaryKey() -> String {
return "id"
}
}
因此,我希望Realm在使用个人资料primaryKey
进行更新时不会创建新用户。
在代码中,
let json = JSON(value)
let realm = try! Realm()
try! realm.write {
let user = User(json: json)
realm.add(user, update: true)
}
由于User
没有primaryKey
,因此每次都会创建一个新用户。但是,由于Profile
具有primaryKey
,因此它只会创建一个配置文件。所有用户都指向同一个配置文件。我希望User
使用Profile
上的主键,并在创建新User
时仅创建新的Profile
。
有什么想法吗?
感谢。
答案 0 :(得分:0)
您要求User
课程提供身份概念的金额,其在Realm中由primary keys表示。
我建议您使用相同的主键来表示User
及其关联的Profile
。或者,如果这些模型只能以一对一的关系存在,为什么不将它们组合起来?
class User: Object {
dynamic var id: Int = 0
dynamic var name: String = "Thor"
override static func primaryKey() -> String {
return "id"
}
}
我假设您的Profile
模型中有更多属性。