【问题标题】:Change first viewController presented (main interface)更改呈现的第一个 viewController(主界面)
【发布时间】:2019-10-11 20:21:28
【问题描述】:
您好,我已经为我的应用程序制作了一个页面控制器。
如果设备上没有任何“用户”核心数据对象,此页面控制器将出现在应用启动时。
所以我想做的是:
应用启动时,执行核心数据请求,返回数组中的所有“用户”对象。 (这部分还可以)
如果数组为空,则 VC 呈现的是 pageController,否则,它的呈现是正常的。
pageController 和另一个控制器位于不同的故事板上。
我看到我们可以改变app参数中的第一个故事板,那个参数叫做主界面。
实际上主界面是普通的 VC,那么当我的条件为真时,如何在我的 didFinishLaunchingWithOptions() 中以编程方式呈现页面控制器?
【问题讨论】:
标签:
ios
swift
iphone
storyboard
appdelegate
【解决方案1】:
内部didFinishLaunchingWithOptions
// query coredata
if arr.isEmpty {
let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "pageID") as! PageController
self.window?.rootViewController = viewController
}
else {
let otherController = UIStoryboard(name: "Other", bundle: nil).instantiateViewController(withIdentifier: "otherID") as! OtherController
self.window?.rootViewController = otherController
}