簡體   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