![](/img/trans.png)
[英]How to clone a object with primary key in Realm.io (objective-c)
[英]Can I use a child's primary key as the parent's primary key in Realm.IO?
例如:
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"
}
}
因此,当配置文件是使用配置文件的primaryKey
进行的更新时,我希望Realm不要创建新用户。
在代码中
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
上的主键,并且仅在创建新的Profile
时创建一个新User
。
有任何想法吗?
谢谢。
您要提供的是给User
类一个身份的概念,在Realm中该身份由主键表示。
建议您使用相同的主键来代表User
及其关联的Profile
。 或者,如果这些模型只能以一对一的关系一起存在,为什么不将它们组合在一起呢?
class User: Object {
dynamic var id: Int = 0
dynamic var name: String = "Thor"
override static func primaryKey() -> String {
return "id"
}
}
我假设您的Profile
模型中有更多属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.