0

我使用 Storyboard 创建了一个视图控制器,但通过代码实例化,然后将值传递给控制器​​。我知道它将被称为“ initWithCoder:”,但在方法中属性为 nil。 我在某处得到属性值?

4

2 回答 2

0

如果您通过故事板 segue 创建视图控制器,请使用源视图控制器的prepareForSegue()方法,如对类似问题的回答中所述

于 2015-11-10T08:38:58.423 回答
0

假设您有 viewControllers:A(根)和 B(呈现)。您需要使用prepareForSegue来自 A viewController 的方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let bView = segue.destinationViewController as? BViewController{
            bView.yourDataProperty = dataItem
        }
    }
}

BViewController确保您的发件人在 Storyboard中呈现。否则不会调用此方法

于 2015-11-10T09:05:11.367 回答