当前位置: 首页 > 面试题库 >

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

顾昌翰
2023-03-14
问题内容

现在我收到错误消息Property types for 'value' property do not match. Old type 'float', new type '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



 类似资料:
  • 问题内容: 我从不同的文件夹中删除了詹金斯所有目录。但是,当我访问URL时,仍然显示jenkins登录。 我想完全卸载jenkins。已经尝试了许多来自Internet的命令,但是服务器上仍然有jenkins。 我只有通过腻子进行命令行访问,因此我尝试通过命令删除jenkins。 问题答案: 如果您的詹金斯人以服务而不是进程的形式运行,则应先使用 停止后,您可以按照与Linux风格相对应的命令按照

  • 问题内容: 我卸载了先前版本的node.js(0.8.11),并从node.js网站下载了最新版本0.10.24并进行了安装。但是,运行后,仍然表明我正在运行v0.8.11。显然,在卸载过程中遗留了一些东西,这导致我在尝试通过npm添加模块时遇到各种错误。我已经看到了针对OSX和Linux的解决方案,但找不到Windows的任何东西。我正在运行Windows 7 64位。 问题答案: 如何从Win

  • 我尝试了和,但它仍然用null替换基中的值。 因此,我想在单击按钮时从第一个数组中获取一个值,然后删除它,再次从新的第一个数组中获取值。 它的数据库结构: 我的新代码: logcat:2019-02-20 02:11:25.263 163 1-2110/?E/AudioFlinger:内存不足,无法容纳AudioTrack大小=131296 2019-02-20 02:11:25.263 163

  • 问题内容: 我回来时在Ubuntu上安装了Docker,但是当我尝试删除Docker时,系统中仍然存在。我遵循了这个https://stackoverflow.com/a/31313851/2340159,但是没有用。 问题答案: 显然,我正在使用的系统具有 docker-ce 而不是Docker。因此,在命令下运行即可达到目的。

  • 我卸载了以前版本的Node.js(0.8.11),从Node.js网站下载了最新的0.10.24并安装了它。但是,在运行之后,它仍然表明我运行的是V0.8.11。很明显,卸载过程中留下了一些东西,这导致我在试图通过NPM添加模块时出现了各种各样的错误。我在OSX和Linux上见过解决方案,但在Windows上找不到任何解决方案。我运行的是Windows 7 64位。

  • 您好,我正在使用Graphdb存储一些三元组,如下图所示。这个特定的RDF节点使用常规URIhttp://example/regular/uri.我希望做的不仅是完全删除附加到此节点的所有属性,还删除节点本身。(结果是http://example/regular/uri不再出现在图形数据库中) 到目前为止,我只能删除所有属性,但无法删除实际的RDF节点本身。这似乎很简单,但我在网上研究的越多,这似