来自Realm对象的用户具有相同的主键领域 [英] User made from Realm object has same Primary Key Realm
问题描述
我正在尝试使用真实的模型制作用户个人资料,这是下面的模型:
Im trying to use a real model to make a user profile, here is the model below:
class UserProfile: Object {
dynamic var id = UUID().uuidString
dynamic var name:String = ""
dynamic var age = ""
dynamic var email = ""
dynamic var userName = ""
dynamic var passWord = ""
override static func primaryKey() -> String? {
return "id"
}
}
我正在通过IBAction按钮将对象添加到默认领域文件中,如下所示:
I'm adding objects to the default realm file via an IBAction button as shown here:
@IBAction func signUpButton(_ sender: UIButton) {
try! realm.write {
user.userName = userNameTextField.text!
user.passWord = passWordTextField.text!
user.email = emailTextField.text!
user.name = fullNameTextField.text!
user.age = ageTextField.text!
user.id = UUID().uuidString
realm.add(user)
}
userQuery()
}
问题在于创建的用户对象具有相同的"id"/主键:
The issue is that the created user objects have the same "id"/Primary key:
简·韦尔戈(Jane Vergo)今年17岁,ID:A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
Jane Vergo is 17 years old ID: A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
Jake Lawson今年19岁,ID:A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
Jake Lawson is 19 years old ID: A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
卢克·凯奇(Luke Cage)20岁,ID:A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
Luke Cage is 20 years old ID: A6A67E2D-C9A9-4D6B-815C-27BC22B3089B
是否有办法做到这一点,以便每个用户都有不同的主键/id?
IS there anyway to make it so that each user has a different primary key/id?
推荐答案
领域是一个对象数据库,因此您每次都需要创建一个新对象:
Realm is an object database, so you need to create a new object every time:
try! realm.write {
user = User() // Create a new user instance
user.userName = userNameTextField.text!
user.passWord = passWordTextField.text!
user.email = emailTextField.text!
user.name = fullNameTextField.text!
user.age = ageTextField.text!
user.id = UUID().uuidString
realm.add(user)
}
这篇关于来自Realm对象的用户具有相同的主键领域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!