如何使用 Storyboard 方法使用自定义 init
实例化自定义 ViewController
类?
如何调用ProfileViewController(userId: "abc")
init?
实例化 View Controller
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let destViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ProfileViewController") as UIViewController
自定义 View Controller 类
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"
关于ios - 使用自定义 init 实例化带有标识符的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144644/