ios - 如何使用委托(delegate)来指示哪个 View Controller 充当初始 View Controller ?

标签 ios swift initialization appdelegate launching-application

我正在尝试将代码添加到我的应用程序委托(delegate)文件中,如果用户已登录,则可以直接连接到“Camera VC”;如果用户未登录,则可以直接连接到“loginVC”。老实说,我非常不知道如何做到这一点,任何帮助将不胜感激。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    var isLoggedIn: Bool?

    let storyboardId: String = (isLoggedIn != nil) ? "loginVC" : "CameraVC"

    self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier(storyboardId as String)

    return true
}

最佳答案

在Storyboard中,每个UIViewController都有标志为initialViewController。你需要正确设置它。 恕我直言,最好的解决方案是将两个 Controller 包装在某个容器 Controller (即 UINavigationController)中,并以编程方式推送(弹出)以写入包含的 UIViewController。

关于ios - 如何使用委托(delegate)来指示哪个 View Controller 充当初始 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143381/

相关文章:

arrays - 数组扩展,对成员 'subscript' 的引用不明确

ios - 切换保存用户首选项

c++ - 两步到一步初始化和错误处理

java - 为什么枚举中的静态和实例初始化 block 的行为与类中的不同

ios - 参数类型 'String' 不符合预期类型 'Sequence'

iphone - 实现为本地存储的视频中的每一帧触发的委托(delegate)

ios - 文件提供程序扩展不适用于 iOS 13

ios - 如何防止选择器 View 重复

swift - 快速观察多个 NSKeyObservingKeyValueoptions

c++ - std::initializer_list 什么时候可以简单构造?