swiftでアプリのバックグラウンド状態を検知して処理したいです。
コードは以下サイト参考にして作成しましたが、作成したコードにブレークポイントを置いても素通りされ、処理が実行できずに悩んでいます。
http://mzgkworks.hateblo.jp/entry/nsnotificationcenter-viewcontroller
初歩的な質問で申し訳ありませんが、知恵をお貸し下さい。
swift
1AppDelegate:ここでバックグラウンド、フォアグラウンドを検知して飛ばす 2class AppDelegate: UIResponder, UIApplicationDelegate { 3 4 var window: UIWindow? 5 func applicationDidEnterBackground(_ application: UIApplication) { 6 // アプリがバックグラウンドへ移行するタイミングを通知 7 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "applicationDidEnterBackground"), object: nil) 8 } 9 10 func applicationWillEnterForeground(_ application: UIApplication) { 11 // アプリがフォアグラウンドへ移行するタイミングを通知 12 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "applicationWillEnterForeground"), object: nil) 13 }
swift
1ViewController:受け取った通知をここで実行? 2 override func viewWillAppear(_ animated: Bool) { 3 super.viewWillAppear(animated) 4 // 登録 5 NotificationCenter.default.addObserver(self, selector: Selector(("viewWillEnterForeground:")), name: NSNotification.Name(rawValue: "applicationWillEnterForeground"), object: nil) 6 NotificationCenter.default.addObserver(self, selector: Selector(("viewDidEnterBackground:")), name: NSNotification.Name(rawValue: "applicationDidEnterBackground"), object: nil) 7 } 8 9 // AppDelegate -> applicationWillEnterForegroundの通知 10 func viewWillEnterForeground(notification: NSNotification?) { 11 textFrontLabel.text = "フォアグラウンド" 12 } 13 14 // AppDelegate -> applicationDidEnterBackgroundの通知 15 func viewDidEnterBackground(notification: NSNotification?) { 16 textBackLabel.text = "バックグラウンド" 17 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/17 01:04
2021/02/17 02:45
2021/02/17 13:14
2021/02/17 15:32
2021/02/17 21:21
2021/02/18 00:07