Realm中删除一个表的所有条目

1个月前 86次点击 来自 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)
Card image cap
开发者雷

尘世间一个小小的开发者,每天增加一些无聊的知识

本站文章全部采用 CC BY 4.0 协议,欢迎转载

技术文档 >> 系列应用 >>
热推应用
Let'sLearnSwift
学习Swift的入门教程
PyPie
Python is as good as Pie
标签