
在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代码:如何在收到远程推送通知后启动特定的视图控制器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)