Swift. Ошибка в работе с UIApplication.shared
Такой вопрос, в старой программе которая реализована под UIKit, было сделано вот так. Условие в котором далее выполняются действия:
if(theApp().m_Disp.ConnectToServ(self.SelCon)) {
В условии происходит обращение к функции
func theApp() -> iSPultApp!
{
return UIApplication.shared as? iSPultApp
}
Где далее из функции вызывается класс
class iSPultApp: UIApplication {
var m_Disp: CRoot = CRoot()
Там всё работает, возможно ли это как-то переделать под SwiftUI? Программа заходит в func theApp(), а далее вместо перехода в класс, возвращается в условии и там ошибка:
if(theApp().m_Disp.ConnectToServ(self.SelCon)) {
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value.
self.SelCon при это не пуст, а заполнен данными, судя по всему в func theApp() передаётся nil
Заранее огромное спасибо за помощь ?
Ответы (1 шт):
Судя по кускам кода и комментарию, проблема у Вас из-за нового сниппета Xcode со SceneDelegate. Тут 2 варианта:
1 Переписать по-нормальному без подобного:
func theApp() -> iSPultApp!
{
return UIApplication.shared as? iSPultApp
}
2 Удалить SceneDelegate, подчистить от него Info.plist и использовать такой же подход.