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

标签 swift realm

现在我收到错误 “值”属性的属性类型不匹配。旧类型“float”,新类型“double”。如何清除数据库或成功迁移数据库?

最佳答案

要从磁盘中完全删除 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 中以执行此操作。

关于swift - 如何从 iOS 中完全删除 Realm 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37396319/

相关文章:

ios - Swift - 呈现一个 UIView(不是 ViewController)

swift - Realm Sync Facebook 身份验证不起作用

android - Realm 模型从其他线程更新,但应该通知适配器

java - Realm.io [Java] 通知 - 如何仅监听特定表中的更改?

android - 我们可以免费使用 Realm 数据库来替代 Sqlite 和 CoreData 吗?

ios - 从 1.1 升级到 1.2 后出现奇怪的快速错误

swift - 每个场景的工具栏按钮

android - 以 UTC 时区保存日期

ios - 将 MPMediaItemArtwork 分配给 UIImage

ios - 从 UIView 蒙版中剪切 UIImage