I am trying to passing my managedObjectContext to the next controller.
I innate a UIWindow instance in my appDelegate file, as I need to obtain my stand by controller.
However, Xcode said my UIWindow instance is nil. 
This id my code:
lazy var managedObjectContext: NSManagedObjectContext = persistentContainer.viewContext
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    let tabController = window!.rootViewController as! UITabBarController
    if let tabViewControllers = tabController.viewControllers {
        let navController = tabViewControllers[0]  as! UINavigationController
        let controller = navController.viewControllers.first as! CurrentLocationViewController
        controller.managedObjectContext = managedObjectContext
    }
    return true
}


It is a bit strange. How to resolve this? Thanks in advance.
IOS 13 window is inside SceneDelegate while prior to 13 is inside AppDelegate
Move code inside SceneDelegate    
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    let tabController = window!.rootViewController as! UITabBarController
    if let tabViewControllers = tabController.viewControllers {
       let navController = tabViewControllers[0]  as! UINavigationController
       let controller = navController.viewControllers.first as! CurrentLocationViewController
       controller.managedObjectContext = managedObjectContext
     }
}
                        var window: UIWindow? in your AppDelegate.swift.SceneDelegate.swift from your files.Application Scene Manifest from Info.plist.window object in your AppDelegate.swift as you want.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With