2016-09-27 12 views
1

私は背景からアプリケーションを呼び出すときに、viewcontrollerの1つの関数を読み込みたいですか?IOSアプリがバックグラウンドから来たときにviewcontrollerをリロードする方法をスウィフト?

+0

バックグラウンドモードでNSUserdefaultのフラグ値を使用し、値がtrueに設定されていて、calとafterの両方が呼び出されているかどうかをチェックします私は再び偽にフラグを設定して意味を理解する! –

+0

背景からviewcontrollerからの呼び出しがあった場合、再度呼び出す関数はviewdidload()ですか? –

+0

誰でも迅速な解決策3を探しているなら、ここに行く: https://stackoverflow.com/a/34529572/6595705 – stream28

答えて

1

これらの通知にコントローラを登録し、それに応じてコントローラをリロードすることができます。

UIApplicationDidEnterBackgroundNotification 
UIApplicationWillEnterForegroundNotification 
+0

AppDelageで私はこの機能を持っていて、私はバックグラウンドモードを有効にしていた。 –

+0

これらの方法で機能を実装していれば、どんな問題に直面していますか? –

+0

この関数は、viewcontrollerではなくAppDelegateにあります。この関数はコントローラ内部のアプリケーションの状態を監視しますか? –

3

nishithの答えにエラボレーション:

override func viewWillDisappear(animated: Bool) { 
    NSNotificationCenter.defaultCenter().removeObserver(self) 
} 

は、ビューの中に消えたときには、必ずクリーンアップに覚え

override func viewDidLoad() { 
    super.viewDidLoad() 
...... 
...... 
    NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(YourViewController.methodToRefresh), name:UIApplicationWillEnterForegroundNotification, object:UIApplication.sharedApplication() 
    ) 
...... 
...... 
} 

をリフレッシュしたいあなたのビューコントローラに次のコードを追加します。

関連する問題