ios - 我无法施放 initialViewController

标签 ios swift

我想在应用程序启动后实例化一次 ViewController。所以我实例化了 Controller 但是我得到了一个奇怪的错误

Could not cast value of type 'erkeb.HomeVC' (0x100bd8738) to 'erkeb.ContainerVC' (0x100bd8990)

有人可以告诉我如何解决这个问题吗?

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    fileprivate var containerVC = ContainerVC()

    var MenuContainerVC: ContainerVC{
        return containerVC
    }

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FirebaseApp.configure()

        containerVC = ContainerVC()

        window = UIWindow(frame: UIScreen.main.bounds)

        let sb = UIStoryboard(name: "Main", bundle: nil)
        var intialViewController = sb.instantiateViewController(withIdentifier: "WelkomVC")

        let userDefaults = UserDefaults.standard

        if userDefaults.bool(forKey: "WelkomIntroIsOk"){
            intialViewController = sb.instantiateInitialViewController() as! ContainerVC
        }

        window?.rootViewController = intialViewController
        window?.makeKeyAndVisible()

        //normaal juist onder lijn 28 maar menu schuift niet open
//        window?.rootViewController = containerVC
//        window?.makeKeyAndVisible()

        return true
    }

最佳答案

您不需要将 sb.instantiateInitialViewController() 转换为 ContainerVC。如果 UserDefaults 值为 true,则以编程方式创建 ContainerVC 实例并在 intialViewController 中分配。 ContainerVC 将被指定为 Root View Controller 。

if userDefaults.bool(forKey: "WelkomIntroIsOk") {
    intialViewController = ContainerVC()
}

关于ios - 我无法施放 initialViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56331181/

相关文章:

Swift Siesta 重定向对失败的响应

ios - 将 Storyboard Controller 复制并粘贴到 xib 文件中。支持不支持?

ios - UISearchBarDelegate showsSearchResultsButton 属性的正确用法是什么?

ios - Swift - Bar Button Item 支持函数

swift - 如何在 Swift 中将 Realm 数据库迁移到共享(AppGroup)?

ios - 点击另一个 UITextField 后自动禁用键盘

ios - AVAudioplayer如何让当前时间自动更新

ios - 当应用程序在后台运行时如何对上传进行单元测试

ios - 如何使用任何月份和周数 swift 3 获取周开始日期和结束日期?

ios - 添加 UISearchController 后 UITableView 可以滚动到顶部太远