将Realm.Configuration放入shouldRestoreApplicationState是否安全?

时间:2019-04-19 09:35:40

标签: ios swift realm

我正在实现应用恢复功能。 但是我发现viewDidLoaddidFinishLaunchingWithOptions被调用之前被调用了。 我必须在这里从数据库中读取一些数据。 因此,它总是在try! Realm()上引发异常。 无论如何,这就是我现在的做法。

    var realmConfigured = false

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        configureRealm()
    }

    func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool {
        print("restoring")

        configureRealm()
        return true
    }

    func configureRealm(){
        guard !realmConfigured else { return }

        realmConfigured = true

        let config = Realm.Configuration(...)

        Realm.Configuration.defaultConfiguration = config
    }

到目前为止,它工作正常。 有更好的方法吗?

0 个答案:

没有答案