繁体   English   中英

从后台打开应用程序时,iOS Swift 3重新加载TableView

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM