要从磁盘上完全删除Realm文件并从头开始,只需使用NSFileManager
手动删除它即可。
NSFileManager.defaultManager().removeItemAtURL(Realm.Configuration.defaultConfiguration.fileURL!)
如果要保留Realm文件,但将对象完全清空,则可以调用以下deleteAll()
方法:
let realm = try! Realm()
try! realm.write {
realm.deleteAll()
}
我觉得我在原始答案中没有提到这一点。如果选择从磁盘删除Realm文件,则必须在应用程序中的任何线程上打开它之前,都必须这样做。打开后,Realm会在内部缓存对其的引用,即使文件被删除,该引用也不会被释放。