mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
NavigationRouter: Add create and destroy notifications.
This commit is contained in:
parent
06da3ebcc8
commit
7bf61101b0
1 changed files with 16 additions and 0 deletions
|
@ -39,6 +39,18 @@ final class NavigationRouter: NSObject, NavigationRouterType {
|
|||
self.completions = [:]
|
||||
super.init()
|
||||
self.navigationController.delegate = self
|
||||
|
||||
// Post local notification on NavigationRouter creation
|
||||
let userInfo: [String: Any] = [NavigationRouter.NotificationUserInfoKey.navigationRouter: self,
|
||||
NavigationRouter.NotificationUserInfoKey.navigationController: navigationController]
|
||||
NotificationCenter.default.post(name: NavigationRouter.didCreate, object: self, userInfo: userInfo)
|
||||
}
|
||||
|
||||
deinit {
|
||||
// Post local notification on NavigationRouter deinit
|
||||
let userInfo: [String: Any] = [NavigationRouter.NotificationUserInfoKey.navigationRouter: self,
|
||||
NavigationRouter.NotificationUserInfoKey.navigationController: navigationController]
|
||||
NotificationCenter.default.post(name: NavigationRouter.willDestroy, object: self, userInfo: userInfo)
|
||||
}
|
||||
|
||||
// MARK: - Public
|
||||
|
@ -292,10 +304,14 @@ extension NavigationRouter {
|
|||
public static let willPopViewController = Notification.Name("NavigationRouterWillPopViewController")
|
||||
public static let didPopViewController = Notification.Name("NavigationRouterDidPopViewController")
|
||||
|
||||
public static let didCreate = Notification.Name("NavigationRouterDidCreate")
|
||||
public static let willDestroy = Notification.Name("NavigationRouterWillDestroy")
|
||||
|
||||
// MARK: Notification keys
|
||||
|
||||
public struct NotificationUserInfoKey {
|
||||
static let viewController = "viewController"
|
||||
static let navigationRouter = "navigationRouter"
|
||||
static let navigationController = "navigationController"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue