Realm deleteAll()重置主键

时间:2018-01-31 19:34:27

标签: ios swift realm

如果我有一个带有主键的Realm类:

class Thing: Object{
  @objc dynamic var id = UUID().uuidString

  override static func primaryKey() -> String? {
    return "id"
  }
}

我向我的Realm填充了大量数据,其中包含Thing id abcdef123的{​​{1}}条记录。

然后,如果我将其全部删除:

let realm = try! Realm()
realm.beginWrite()
realm.deleteAll()
try! realm.commitWrite()

主键abcdef123仍然无法使用吗?或者deleteAll()是否清除了所有主键?

1 个答案:

答案 0 :(得分:2)

Realm.deleteAll()删除存储在Realm中的所有对象。主键属性的值必须在存储在Realm 中的对象中唯一。删除具有给定主键值的对象允许该值用于前进的新对象。