2017-01-18 79 views

回答

3

據我所知,你最近在你最近的newsfeed ViewController上打開的應用程序很有趣,然後被用戶關閉到後臺。稍後在接收推送時,用戶點擊它並打開相同的新聞源控制器。

您必須訂閱UIApplicationWillEnterForeground通知您UIViewController

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。

希望它有幫助!

相關問題