2017-01-18 10 views
0

アプリにプッシュ通知を実装しました。ユーザは、彼に新しいメッセージがあるときはいつでもサーバからプッシュ通知を得る。iOS swift 3バックグラウンドからアプリを開くとテーブルビューが再表示される

ユーザーがプッシュ通知をクリックすると、アプリケーションが開きます。私はこれが起こったときに私のアプリがテーブルビューをリロードして、ユーザーに最近のニュースフィードを見せたい。

スウィフト3では可能ですか?

答えて

3

私が理解しているように、最近のニュースフィードViewControllerで開いたアプリの場合は面白いですし、ユーザーがバックグラウンドで閉じることができます。後でプッシュを受け取っている間、ユーザーはそのプッシュをクリックして同じニュースフィードコントローラーを開きます。あなたのUIViewController

よう
NotificationCenter.default.addObserver(self, selector: #selector(yourMethod), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil) 

UIApplicationWillEnterForeground通知にサブスクライブし、それが最も簡単な解決策だ退会

deinit { 
    NotificationCenter.default.removeObserver(self) 
} 

を忘れてはいけない

func yourMethod() { 

    // send request to update newsfeed 
    // then update tableView 
    // tableView.reloadData() 
} 

ようyourMethodを実装する必要が

と私は最も単純なケースを説明しました。

アプリが閉じており、受け取ったプッシュに基づいて階層を作成する必要があります(willFinishLaunchingWithOptions)。

このアプリケーションは別のページで開きます。この場合、ViewController階層を再設定して、必要なViewControllerを表示する必要があります。 この場合、押されたプッシュ通知から必要なViewControllerにいくつかのデータを渡す必要があります。

希望すると助かります!

関連する問題