Ios 实例化具有自定义初始化标识符的视图控制器

Ios 实例化具有自定义初始化标识符的视图控制器,ios,swift,uiviewcontroller,instantiation,Ios,Swift,Uiviewcontroller,Instantiation,如何使用脚本方法用custominit实例化自定义ViewController类 如何调用ProfileViewController(userId:“abc”)init 实例化视图控制器 let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let destViewController = mainStoryboard.instantiateViewControllerWithIdentifier("

如何使用脚本方法用custom
init
实例化自定义
ViewController

如何调用
ProfileViewController(userId:“abc”)
init

实例化视图控制器

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let destViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ProfileViewController") as UIViewController
自定义视图控制器类

class ProfileViewController: UIViewController {

var userId = ""

init(userId: String) {
    self.userId = userId
    super.init(nibName: nil, bundle: nil)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override func viewDidLoad() {
    super.viewDidLoad()

    let menuItem = UIBarButtonItem(image: UIImage(named: "MenuIcon"), style: .Plain, target: self, action: "menuBarButtonItemClicked")
    menuItem.tintColor = UIColor.whiteColor()
    self.navigationItem.leftBarButtonItem = menuItem
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

我认为你想做的是不可能的。 但是你可以这样做

let destViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ProfileViewController") as ProfileViewController
destViewController.userId = "abc"

我想这是不可能的。谢谢你的回答!