Realm中删除一个表的所有条目
4个月前 • 176次点击 • 来自 Swift
Realm 是笔者开发中最常用的数据库。
Realm中删除整个数据库使用realm.deleteAll()
,删除单个对象realm.delete()
,以下介绍如何删除一个表中的所有条目。
方法一
let realm = try! Realm()
try! realm.write {
let persons = realm.objects(Person.self)
realm.delete(persons)
}
方法二
抽象出一个deleteAll函数:
func deleteAll<T: Object>(_ data: [T.Type]) {
let realm = try! Realm()
realm.refresh()
try? realm.write {
for object in data {
let allObjects = realm.objects(object)
realm.delete(allObjects)
}
}
}
使用:
deleteAll([Person.self])
方法三
写出扩展
extension Object {
static func deleteAll(in realm: Realm) throws {
let allObjects = realm.objects(self)
try realm.write {
realm.delete(allObjects)
}
}
}
使用:
let realm = try! Realm()
try! Person.deleteAll(in: realm)
标签