我知道通过这种方式将coreDataStack传递给具有嵌入式导航控制器的viewController的方法。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let navigationController = window!.rootViewController as! UINavigationController
let viewController = navigationController.topViewController as! ViewController
viewController.coreDataStack = coreDataStack
return true
}
我想将coreDataStack传递给没有导航控制器的viewController,
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("Home") as! Home
viewController.coreDataStack = coreDataStack
return true
}
但是,viewController中的coreDataStack发现为nil。
我该怎么做?
最佳答案
您的代码正在创建视图控制器的新实例,而不引用现有实例。您应该可以使用:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let viewController = window!.rootViewController as! ViewController
viewController.coreDataStack = coreDataStack
return true
}
关于swift - 如何在不使用导航 Controller 的情况下将Coredatastack从AppDelegate传递到 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36527592/