0

我正在尝试从 SceneDelegate 推送一个模式。在模态推送运行之前,这一切都很好。

我遇到了下面的错误,Xcode 说变量 imagePreview 和 DownloadURL 为零。是的,变量是从firebase加载的,就好像我打印它们一样。

2020-10-23 02:18:20.277808+0200 MyApp[30028:568894] 致命错误:在隐式展开可选值时意外发现 nil:文件 MyApp/DownloadViewController.swift,第 29 行

func pushFile(id: String) {
        self.window?.rootViewController = DownloadViewController()
        ref = Database.database().reference(withPath: "files")
        ref.child(id).observeSingleEvent(of: .value, with: { [self] (snapshot) in
            let value = snapshot.value as? NSDictionary
            let preview = value?["a"] as? String ?? ""
            let downloadURL = value?["d"] as? String ?? ""
            
            if let tabBarController = window?.rootViewController! as? UIViewController {  //use of unresolved identifier 'window'
                let storyboard = UIStoryboard(name: "Main", bundle: nil)
                if let vc = storyboard.instantiateViewController(withIdentifier: "download") as? DownloadViewController {
                    vc.imagePreview = preview
                    vc.downloadURL = downloadURL
                    tabBarController.present(vc, animated: true)
                }
            }
        })
    }
4

0 回答 0