我使用Realm作为我的iOS应用程序和桌面我有一个主键"名称"
let application = Application()
application.domain = app.domain
application.name = app.name
realm.add(application)
现在当它尝试更新名称时会抛出错误
app?.name = newName
错误是
Primary key can't be changed after an object is inserted.
我如何解决这个问题?
这就是我声明主键的方式
override static func primaryKey() -> String? {
return "name"
}
答案 0 :(得分:4)
使用primary key
插入对象后,无法对其进行修改:
主键被添加到Realm中,主键无法更改。
这使您几乎没有选择:
id
Primary Key
。如果您没有定义主键,则表示您没有主键,这意味着您可以为此属性设置多个具有相同值的对象,并且不会被此属性编入索引。