prepareForSegue无法在iOS 7

时间:2015-05-08 04:55:31

标签: ios swift uiviewcontroller uistoryboardsegue

我必须编写一个支持iOS 7和8的iOS应用程序,在这个应用程序中我有两个带有导航控制器的视图控制器A和B以及它们之间的segue。当segue激活时,我必须从视图控制器A获取数据到视图控制器B.我的代码在iOS 8上完美运行,但在iOS 7上没有。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

    if segue.identifier == userDataSegue {
        let navController = segue.destinationViewController as? UINavigationController

        if let userDataTableViewController = navController?.topViewController as? UserDataTableViewController {
            userDataTableViewController.userData = user
        }
    }
}

您知道为什么会发生这种情况,我该如何解决?我可以"解决问题"通过在NSUserDefaults中保存东西并在vc B中读取它来解决问题,但这会使我的代码变得混乱。

我感谢任何帮助:D

1 个答案:

答案 0 :(得分:2)

不要忘记在Second ViewController中创建公共属性userData。

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) 
{
if (segue.identifier == "segueTest") {
var svc = segue!.destinationViewController as secondViewController;

svc.userData = user

}
}