如何处理Realm实例创建的失败?

时间:2018-02-01 11:26:32

标签: ios swift realm

我正在尝试设置一个全局领域对象,如下所示:

do {
      self.realm = try Realm(configuration: baseConfig) 
    } catch {
        fatalError("Error occurred while trying to initialise realm \(error)")
    } 

然而,每隔一段时间就会调用fatalError。根据Realm文档,这并不意外,我应该能够处理catch中的错误。

  

与任何磁盘I / O操作一样,如果资源受限制,创建Realm实例有时可能会失败。实际上,这只能在第一次在给定线程上创建Realm实例时发生。

我想要在第二次重试的地方施行这样的事情。

do {
  self.realm = try Realm(configuration: baseConfig) 
} catch {
   do {
      self.realm = try Realm(configuration: baseConfig) 
    } catch {
        fatalError("Error occurred while trying to initialise realm \(error)")
    } 
} 

我的问题是,如果确保创建一个Realm实例只能在一个线程上失败一次,为什么Realm只是自己重试?

如果第一次失败,是否有标准方法初始化Realm对象?

1 个答案:

答案 0 :(得分:0)

stty sane