swift – 由于spash屏幕或错误的控制器处于活动状态,避免丢失小部件发送的通知

swift – 由于spash屏幕或错误的控制器处于活动状态,避免丢失小部件发送的通知,第1张

概述我有一个小部件通过NSURL和extensionContext调用其相应的应用程序来激活应用程序中的特定 *** 作. 在AppDelegate的应用程序中:openURL:options:方法我有: func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool { i 我有一个小部件通过NSURL和extensionContext调用其相应的应用程序来激活应用程序中的特定 *** 作.

在AppDelegate的应用程序中:openURL:options:方法我有:

func application(app: UIApplication,openURL url: NSURL,options: [String : AnyObject]) -> Bool {    if let path = url.path{        if path.containsstring("action"){          NSNotificationCenter.defaultCenter().postNotificationname(MyVIEwController.purchasmyActionKey,object: nil)        }    }    return true}

当应用程序打开并且MyVIEwController处于活动状态时, *** 作将完美执行.但是,如果我在应用程序中的另一个视图控制器上或应用程序已关闭,则不会执行该 *** 作.

有人能让我走上正轨吗?

注意:我的主控制器是一个带有各种子视图控制器的UITabbarController.一些是UINavigationControllers(包含网格控制器),另一个是ListVIEwController.

最简单的选项是显示视图控制器,它将其作为模式控制器上的模态处理.这通常是最不复杂和最干净的,因为用户可以在完成此交互之前轻松返回到他们正在做的事情.

如果由于某种原因你不能这样做:

您需要指定某个类负责确保显示正确的视图控制器并告知在看到通知时 *** 作请求.这可以是直接的app委托,标签栏控制器或您创建的一些其他特定类,并提供对标签控制器的引用.

它的工作是检查选项卡控制器的状态并在需要时显示正确的视图控制器,然后告诉该视图控制器开始某些 *** 作.

拥有此逻辑的此类可以是观察您的通知的类,或者您可以直接传递消息,因为您的应用程序委托可能知道该实例或正在创建新实例.

总结

以上是内存溢出为你收集整理的swift – 由于spash屏幕或错误的控制器处于活动状态,避免丢失小部件发送的通知全部内容,希望文章能够帮你解决swift – 由于spash屏幕或错误的控制器处于活动状态,避免丢失小部件发送的通知所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1029900.html

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

发表评论

登录后才能评论

评论列表(0条)

保存