Swift 清除域中除一个对象类型(模型)以外的所有对象类型(模型)的方法

Swift 清除域中除一个对象类型(模型)以外的所有对象类型(模型)的方法,swift,realm,Swift,Realm,我想要realm.delete()realm中除了一个模型之外的所有模型。有没有办法在不列出所有内容的情况下执行此操作? 可能是一种循环浏览域中当前存在的所有类型的方法?您可以从域配置中访问这些类型,过滤它们以排除您想要保留的类型,而不是删除您不想要保留的每种类型的每个对象 let typeToBeKept = MyObjectClass.self realm.configuration.objectTypes?.filter{$0 != typeToBeKept}.forEach{ type

我想要
realm.delete()
realm中除了一个模型之外的所有模型。有没有办法在不列出所有内容的情况下执行此操作?

可能是一种循环浏览域中当前存在的所有类型的方法?

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

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

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

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

您好,David,我使用了您的解决方案,但每次都出现以下错误:无法将“Element”(0x1012cf2e8)类型的值强制转换为“RealmSwift.Object”(0x102e00bc0)但我没有understand@WalidSassi请包括您正在使用的产生上述异常的实际代码。问题是元素是一个objc领域模型,所以编译器告诉我他们不能删除objc领域模型,我认为这没有意义!!!!您对此有何回应?您好,David,我使用了您的解决方案,但每次都出现此错误:无法将“Element”(0x1012cf2e8)类型的值强制转换为“RealmSwift.Object”(0x102e00bc0)但我没有understand@WalidSassi请包括您正在使用的产生上述异常的实际代码。问题是元素是一个objc领域模型,所以编译器告诉我他们不能删除objc领域模型,我认为这没有意义!!!!对此有何回应??