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


1年前 938次点击 来自 移动端

标签: iOS

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)

Made with in Shangrao,China By Devler.

Copyright © Devler 2012 - 2022

赣ICP备19009883号-1

Top ↑