#ios #swift #appdelegate #modalviewcontroller #uiscenedelegate
#iOS #swift #appdelegate #modalviewcontroller #uiscenedelegate
Вопрос:
Я пытаюсь нажать модальный параметр из SceneDelegate. Все это работает хорошо, пока не будет запущен модальный push.
Я получаю сообщение об ошибке ниже, и Xcode сообщает, что переменные imagePreview и downloadUrl равны нулю. Да, переменные загружаются из firebase, как будто я их печатаю, это работает.
2020-10-23 02:18:20.277808 0200 MyApp[30028:568894] Неустранимая ошибка: неожиданно обнаружено значение nil при неявном развертывании необязательного значения: file 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)
}
}
})
}
Комментарии:
1. Вы получаете
use of unresolved identifier 'window'
илиFatal error: Unexpectedly found nil
?2. Я получаю фатальную ошибку: неожиданно найдено nil