在一个领域中清除除一个对象类型(模型)之外的所有对象的方法

时间:2017-08-21 07:43:15

标签: swift realm

我希望realm.delete()在我的领域中只有一个模型。有没有办法在没有列出所有这些的情况下做到这一点? 也许是一种循环目前存在于领域中的所有类型的方法?

1 个答案:

答案 0 :(得分:5)

您可以从Realm配置中访问这些类型,过滤它们以排除您要保留的类型,而不是删除您不想保留的每种类型的每个对象。

let typeToBeKept = MyObjectClass.self
realm.configuration.objectTypes?.filter{$0 != typeToBeKept}.forEach{ type in
    try! realm.write {
        realm.delete(realm.objects(type.self))
    }
}