Я использую Swift 4.1, и мне интересно, как передать данные URL, которые приведены здесь:
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
}
в мой подкласс UIViewController, который я назвал HotSpotRISViewController.Вот что я попытался сделать:
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
self.window = UIWindow(frame: UIScreen.main.bounds)
let vc = HotSpotRISViewController()
vc.setURL(theURL: url)
let navigationController = UINavigationController(rootViewController: vc)
self.window!.rootViewController = navigationController
}
Мой HotSpotRISViewController содержит эту функцию:
func setURL(theURL: URL) {
self.url = theURL
print(self.url ?? "nil")
}
Внутри моего HotSpotRISViewController у меня есть свойство типа URL, готовое к установке.Приведенный выше код правильно передает информацию, потому что мой оператор печати печатает URL, но вместо моего приложения появляется черный экран.Что мне не хватает?И затем, с другой стороны, следующее заставляет приложение запускаться правильно, но я не знаю, как передать данные URL, используя этот метод:
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = mainStoryboard.instantiateInitialViewController()
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
Мне интересно, как я могу получить оба приложенияправильно запустился без черного экрана и передал данные url.Спасибо.