在领域 Swift 中截断 table
Truncate table in Realm Swift
我正在尝试删除一个 class 中的所有对象。我在 Realms documentation 中发现了两种可能性。首先可以使用 realm.deleteAll()
,它会删除整个数据库,还有 realm.delete()
,它会删除一个单独的对象。有没有一种方法可以简单地删除一个 Table/Class 中的所有条目?
假设您要删除 Notofications 的所有对象,
你可以试试这个
let realm = Realm()
realm.write {
let allNotifications = realm.objects(Notifications)
realm.delete(allNotifications)
}
这是执行此操作的扩展程序:
extension Object {
static func deleteAll(`in` realm: Realm) throws {
let allObjects = realm.objects(self)
try realm.write {
realm.delete(allObjects)
}
}
}
您可以创建 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([OneClass.self, AnotherClass.self])
我正在尝试删除一个 class 中的所有对象。我在 Realms documentation 中发现了两种可能性。首先可以使用 realm.deleteAll()
,它会删除整个数据库,还有 realm.delete()
,它会删除一个单独的对象。有没有一种方法可以简单地删除一个 Table/Class 中的所有条目?
假设您要删除 Notofications 的所有对象,
你可以试试这个
let realm = Realm()
realm.write {
let allNotifications = realm.objects(Notifications)
realm.delete(allNotifications)
}
这是执行此操作的扩展程序:
extension Object {
static func deleteAll(`in` realm: Realm) throws {
let allObjects = realm.objects(self)
try realm.write {
realm.delete(allObjects)
}
}
}
您可以创建 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([OneClass.self, AnotherClass.self])