LoginSignup
4
5

More than 5 years have passed since last update.

swift4でRxSwiftを使用して、ViewControllerからアプリのバックグラウンド、復帰のイベントを取得する

Posted at

アプリを制作していると、アニメーションとか、諸々のデータ処理ですとか……そういったロジックが沢山あると思います。
そんな中、ホームに戻る時には該当の処理を止めて、アプリに戻ってきたら処理を再開させる……とか、そういった処理をたまに実装しないといけなくなったりします。

RxSwiftを使うと、そういった処理が簡単に実装できたので備忘録もかねて。

実装例!

notification.swift

import RxSwift

class HogeViewController: UIViewController {
    private let bag = DisposeBag()

    override func viewDidLoad() {
        NotificationCenter.default.rx.notification(.UIApplicationDidBecomeActive)
                                     .subscribe(
                                         onNext: { [weak self] _ in
                                             // アプリに戻ってきた時の処理!
                                         }).disposed(by: bag)

        NotificationCenter.default.rx.notification(.UIApplicationDidEnterBackground)
                                     .subscribe(
                                         onNext: { [weak self] _ in
                                             // homeボタンなどで、バックグラウンドに行った時の処理!
                                         }).disposed(by: bag)
    }
}

何も使用しないでいると、AppDelegeteでNotificationCenterで各画面に通知、購読の解除……等々を自力で実装しないといけないので。
便利な世の中になったもんだ:blush:

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5