声明
使用UIStoryboard的控制器初始化传值,只能在iOS13以后调用
@available(iOS 13.0, tvOS 13.0, *)
@MainActor @preconcurrency public func instantiateViewController<ViewController>(identifier: String, creator: ((NSCoder) -> ViewController?)? = nil) -> ViewController where ViewController : UIViewController
方法调用
let story = UIStoryboard(name: "login", bundle: nil)
if #available(iOS 13.0, *) {
let vc = story.instantiateViewController(identifier: "Login1VC") { coder in
return Login1VC(coder: coder, name: "hello word!")
}
navigationController?.pushViewController(vc, animated: true)
}
控制器初始化
let name: String
required init?(coder: NSCoder, name: String) {
self.name = name
super.init(coder: coder)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}