![](/img/trans.png)
[英]IOS Swift how reload viewcontroller when app come from background?
[英]iOS swift 3 reload tableview when open app from background
我在我的应用程序中实现了推送通知。 只要有新消息,用户就会从服务器获得推送通知。
当用户单击推送通知时,它将打开应用程序。 我希望我的应用在发生这种情况时重新加载表格视图,向用户显示最近的新闻提要。
Swift 3有可能吗?
据我了解,如果您的应用在最近的新闻订阅源ViewController上打开,然后又被用户关闭,那么您会很感兴趣。 稍后,在接收推送时,用户单击它并打开相同的新闻提要控制器。
您必须在UIViewController
订阅UIApplicationWillEnterForeground
通知,例如
NotificationCenter.default.addObserver(self, selector: #selector(yourMethod), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil)
并像这样实现yourMethod
func yourMethod() {
// send request to update newsfeed
// then update tableView
// tableView.reloadData()
}
别忘了退订
deinit {
NotificationCenter.default.removeObserver(self)
}
这是最简单的解决方案,我描述了最简单的情况。 例如,有些更复杂的情况我没有描述
该应用程序已关闭,您必须根据willFinishLaunchingWithOptions
收到的推送进行分层。
该应用程序将在另一页上打开,在这种情况下,您必须重新配置viewControllers层次结构以显示所需的ViewController。 在这种情况下,您必须将某些数据从按下的“推送通知”传递到所需的ViewController。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.