У меня проблема с тем, что я не могу получить доступ к функции в моем файле viewcontroller.swft, когда обедаю из убитого приложения в didFinishLaunchingWithOptions
.
Я пытаюсь получить доступ к функции с помощью viewController?.loadRequestnotificationwaiting(for: url as! String)
из AppDelegate, который я передаю данные в viewcontroller, где я могу сделать некоторые вещи. Но когда я помещаю предупреждение в функцию в viewcontroller loadRequestnotificationwaiting
. Данные не передаются.
Теперь я использую этот же метод в других областях для передачи данных в viewcontroller из appdelegate, и они работают нормально. Кажется, не работает при использовании в didFinishLaunchingWithOptions
Контроллер представления еще не доступен при попытке доступа к нему из didFinishLaunchingWithOptions
?
AppDelegate.swift
class AppDelegate : UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {
weak var viewController : ViewController?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UNUserNotificationCenter.current().delegate = self
ConnectionManager.sharedInstance.observeReachability()
// Override point for customization after application launch.
FirebaseApp.configure()
registerForPushNotifications()
// opened from a push notification when the app is closed
if let userInfo = launchOptions?[.remoteNotification] as? [String : AnyObject] {
if let object = userInfo["aps"] {
let url = object["url"]
viewController?.loadRequestnotificationwaiting(for: url as! String)
}
}
return true
}
}
ViewController.swift
class ViewController: UIViewController, WKNavigationDelegate {
func loadRequestnotificationwaiting(for notification_url_wait : String) {
notification_url_final_wait = notification_url_wait
let url = URL(string: notification_url_final_wait!)
let URLrequest = URLRequest(url: url!)
self.webView.load(URLrequest)
}
}