我使用Storyboard创建一个视图控制器,但通过代码实例化,然后将值传递给控制器。我知道它将被称为"initWithCoder:
",但在该方法中,属性为nil。我在哪里得到了属性值
如果您正在通过情节提要片段创建视图控制器,请使用源代码视图控制器的prepareForSegue()
方法,如对类似问题的回答所述。
假设您有viewControllers:A(根)和B(呈现)。您需要使用视图控制器中的prepareForSegue
方法:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let bView = segue.destinationViewController as? BViewController{
bView.yourDataProperty = dataItem
}
}
}
确保您的发件人在情节提要中显示BViewController
。否则,此方法将不会被称为