一尘不染

如何从iOS完全删除Realm数据库?

swift

现在我收到错误消息Property types for 'value' property do not match. Old type 'float', new type 'double'如何成功清除数据库或迁移?


阅读 637

收藏
2020-07-07

共1个答案

一尘不染

要从磁盘上完全删除Realm文件并从头开始,只需使用NSFileManager手动删除它即可。

例如,要删除默认的Realm文件:

NSFileManager.defaultManager().removeItemAtURL(Realm.Configuration.defaultConfiguration.fileURL!)

如果要保留Realm文件,但将对象完全清空,则可以调用以下deleteAll()方法:

let realm = try! Realm()
try! realm.write {
  realm.deleteAll()
}

更新:
我觉得我在原始答案中没有提到这一点。如果选择从磁盘删除Realm文件,则必须在应用程序中的任何线程上打开它之前,都必须这样做。打开后,Realm会在内部缓存对其的引用,即使文件被删除,该引用也不会被释放。

如果绝对需要在删除之前打开Realm文件以检查其内容,则可以将其包含在其中autoreleasepool

2020-07-07