ios – Swift代码:如何在收到远程推送通知后启动特定的视图控制器

ios – Swift代码:如何在收到远程推送通知后启动特定的视图控制器,第1张

概述在 Swift中,我的main.storyboard有两个视图控制器(mainVC,secondVC),它们都嵌入在它们的导航控制器中.收到远程推送通知时,如何更改AppDelegate中的代码以使每次启动secondVC视图控制器.我目前有代码在didReceiveRemoteNotification中发布通知,并在secondVC中添加代码以添加观察者 在AppDelegate.swift中, 在 Swift中,我的main.storyboard有两个视图控制器(mainVC,secondVC),它们都嵌入在它们的导航控制器中.收到远程推送通知时,如何更改AppDelegate中的代码以使每次启动secondVC视图控制器.我目前有代码在dIDReceiveRemoteNotification中发布通知,并在secondVC中添加代码以添加观察者

在AppDelegate.swift中,我的代码如下:

func application(application: UIApplication,dIDFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool{    var type = UIUserNotificationType.Badge | UIUserNotificationType.Alert | UIUserNotificationType.sound    var setting = UIUserNotificationSettings(forTypes: type,categorIEs: nil)    UIApplication.sharedApplication().registerUserNotificationSettings(setting)    UIApplication.sharedApplication().registerForRemoteNotifications()    return true}func application(application: UIApplication,dIDReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {    NSNotificationCenter.defaultCenter().postNotificationname("MyNotificationType",object: nil,userInfo: userInfo)}

在第二个VC中,我的代码如下:

overrIDe func vIEwWillAppear(animated: Bool) {    println("vIEwWillAppear()")    NSNotificationCenter.defaultCenter().addobserver(self,selector: "AuthenticateWithtouchID:",name: "MyNotificationType",object: nil)}overrIDe func vIEwWilldisappear(animated: Bool) {    println("vIEwWilldisAPPER")    NSNotificationCenter.defaultCenter().removeObserver(self,object: nil)}
解决方法 这应该工作.您的UINavigationController的vIEwControllers属性是嵌入在导航控制器中的所有视图控制器的数组.因此,如果你想要你的第二个vc,你可以像典型的数组一样访问它,所以vIEwControllers [1]

func application(application: UIApplication,dIDReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {    var navController:UINavigationController = self.window?.rootVIEwController as! UINavigationController    if navController.vIEwControllers != nil {        var vc:CustomVIEwController = navController.vIEwControllers[1] as! CustomVIEwController        navController.presentVIEwController(vc,animated: false,completion: nil)    }}
总结

以上是内存溢出为你收集整理的ios – Swift代码:如何在收到远程推送通知后启动特定的视图控制器全部内容,希望文章能够帮你解决ios – Swift代码:如何在收到远程推送通知后启动特定的视图控制器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1027018.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存