声明

使用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")
    }
posted on 2025-06-23 16:46  xiao孛  阅读(2)  评论(0)    收藏  举报