The library lets you know whether your UIViewController
subclasses' viewWillAppear
and viewDidAppear
are being called for the first time.
It adds the following methods:
viewWillAppearFirstTime(_:)
: called when viewWillAppear the first time.viewWillAppearAgain(_:)
: called when viewWillAppear the second time on.viewDidAppearFirstTime(_:)
: called when viewDidAppear the first time.viewDidAppearAgain(_:)
: called when viewDidAppear the second time on.
Before:
import UIKit
class ViewController: UIViewController {
var firstTime = true
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if firstTime {
//viewWillAppear first time
} else {
//viewWillAppear again
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if firstTime {
//viewDidAppear first time
firstTime = false
} else {
//viewDidAppear again
}
}
}
After:
import UIKit
import ViewDidAppearFirstTime
//in AppDelegate: UIViewController.activateFirstAppearance()
class ViewController: UIViewController, FirstAppearance {
func viewWillAppearFirstTime(_ animated: Bool) {
//viewWillAppear first time
}
func viewWillAppearAgain(_ animated: Bool) {
//viewWillAppear again
}
func viewDidAppearFirstTime(_ animated: Bool) {
//viewDidAppear first time
}
func viewDidAppearAgain(_ animated: Bool) {
//viewDidAppear again
}
}
pod 'ViewDidAppearFirstTime'
ViewDidAppearFirstTime is available under the MIT license. See the LICENSE file for more info.