首页 文章

领域运行时错误

提问于
浏览
1

我最近升级到Swift 2.0,现在我遇到了领域问题 . 最近,我遇到一个问题,当应用程序第一次出现“try!Realm()”时会立即崩溃导致此错误:

致命错误:'试试!'表达式意外地引发了错误:错误Domain = io.realm Code = 2“open()失败:没有这样的文件或目录”UserInfo = {NSFilePath = / Users / XXXXX / Library / Developer / CoreSimulator / Devices / 7299DF18-E7D5-4499 -93DD-A5035FB48E67 / data / Containers / Data / Application / BED64819-5895-407F-9E90-9888741E24EB / Documents / default.realm,NSLocalizedDescription = open()failed:No such file or directory,Error Code = 2}:file / Library / Caches / com.apple.xbs / Sources / swiftlang / swiftlang-700.0.59 / src / swift / stdlib / public / core / ErrorType.swift,第50行(lldb)

我看到另外一篇文章与此有些相关,但它没有帮助,因为我没有尝试直接调用路径,它只是抛出这个错误 .

谢谢

2 回答

  • -1

    当您在Swift中使用 try! 时,您选择忽略可能从中恢复的错误 .

    在这种情况下, Realm 初始化程序标记为 throws . 这里's an excerpt from Realm'的文档在Error Handling

    与任何磁盘IO操作一样,如果资源受到限制,创建Realm实例有时可能会失败 . 实际上,这只能在第一次在给定线程上创建Realm实例时发生 . 从同一个线程对Realm的后续访问将重用高速缓存的实例并始终成功 . 要在首次访问给定线程上的Realm时处理错误,请使用Swift的内置错误处理机制:

    do {
      let realm = try Realm()
    } catch let error as NSError {
      // handle error
    }
    
  • 3

    当我通过Realm浏览器从Realm手动删除对象时,我发生了同样的事情 . 这是我的两分钱:删除realm.lock和其他日志文件并重新启动应用程序为我工作 . 看一下截图:

    enter image description here

相关问题