【发布时间】:2020-11-23 17:10:29
【问题描述】:
我尝试在 Realm 中创建具有唯一 ID 的对象。我使用此代码:
class Persons: Object {
@objc dynamic var id = 0
@objc dynamic var name = ""
override static func primaryKey() -> String? {
return "id"
}
}
在我的 StorageManager 中,我使用以下代码:
import RealmSwift
let realm = try! Realm()
class StorageManager {
static func saveObject(_ person: Persons) {
try! realm.write {
realm.add(person)
}
}
static func deleteObject(_ person: Persons) {
try! realm.write {
realm.delete(person)
}
}
}
但是当我添加第二个新对象时,我得到了错误:
由于未捕获的异常“RLMException”而终止应用程序,原因: '尝试使用现有的“Persons”类型创建对象 主键值'0'。'
如何为每个新对象获取新的唯一 ID?
【问题讨论】: