简体   繁体   中英

Xcode 11: cannot instantiate view controller from storyboard with identifier

I'm using Xcode 11.1 and my deployment target is iOS 10.0

I can't instantiate a view controller like before. Here is the code in

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(identifier: "TabBarController")

I get the error saying:

'instantiateViewController(identifier:creator:)' is only available in iOS 13.0 or newer

How possibly can one instantiate view controllers from storyboard programmatically on Xcode 11.1. Any other way?

You need to use

storyboard.instantiateViewController(withIdentifier: "TabBarController")

the new instantiateViewController(identifier: "TabBarController") is only available on iOS 13 and returns ViewController instead of UIViewController as you can see here

在此处输入图像描述

You should do following:

let viewController = storyboard.instantiateViewController(withIdentifier: "TabBarController")

parameter should be -withIdentifier- not -identifier-

//use instantiateViewController(withIdentifier:"") method to resolve notinstantiateViewController(Identifier:"") 


 let objRef : RatindAndReviewVC = self.storyboard?.instantiateViewController(withIdentifier: "RatindAndReviewVC") as! RatindAndReviewVC

       self.navigationController?.pushViewController(objRef, animated: true)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM