From b877e4dc83257c11c7895bb34d1b34ba5e71751d Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Tue, 25 Jun 2019 12:10:07 -0500 Subject: [PATCH] Move NavState ownership to the AppDelegate --- iOS/AppDelegate.swift | 14 ++++++++++++-- iOS/MasterFeed/MasterFeedViewController.swift | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/iOS/AppDelegate.swift b/iOS/AppDelegate.swift index d03cae7e5..4e7325c99 100644 --- a/iOS/AppDelegate.swift +++ b/iOS/AppDelegate.swift @@ -40,6 +40,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele var authorAvatarDownloader: AuthorAvatarDownloader! var feedIconDownloader: FeedIconDownloader! + var navState: NavigationStateController! + var masterFeedViewController: MasterFeedViewController! + var unreadCount = 0 { didSet { if unreadCount != oldValue { @@ -67,10 +70,17 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele registerBackgroundTasks() + navState = NavigationStateController() + // Set up the split view let splitViewController = window!.rootViewController as! UISplitViewController - let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController - navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem + + let feedNavController = splitViewController.viewControllers[0] as! UINavigationController + masterFeedViewController = feedNavController.topViewController as? MasterFeedViewController + masterFeedViewController.navState = navState + + let detailNavController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController + detailNavController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem splitViewController.delegate = self window!.tintColor = AppAssets.netNewsWireBlueColor diff --git a/iOS/MasterFeed/MasterFeedViewController.swift b/iOS/MasterFeed/MasterFeedViewController.swift index 4cc1dd1c5..4e4979d24 100644 --- a/iOS/MasterFeed/MasterFeedViewController.swift +++ b/iOS/MasterFeed/MasterFeedViewController.swift @@ -19,8 +19,8 @@ class MasterFeedViewController: ProgressTableViewController, UndoableCommandRunn @IBOutlet private weak var addNewItemButton: UIBarButtonItem! var undoableCommands = [UndoableCommand]() + var navState: NavigationStateController! - let navState = NavigationStateController() override var canBecomeFirstResponder: Bool { return true }