通过数据传递。 navigationController

时间:2014-10-06 18:24:34

标签: ios iphone swift uinavigationcontroller uikit

我正在尝试将数据传递给viewController。问题是它嵌入在navigationController中并以模态方式呈现。我如何传递给一个以模态方式呈现并嵌入导航控制器

的viewController
func offerNew(sender: UIBarButtonItem) {


    let offerVC = self.storyboard?.instantiateViewControllerWithIdentifier("OfferViewController") as UINavigationController


    self.presentViewController(offerVC, animated: true, completion: nil);
}

我试过这个

    let offerVC = self.storyboard?.instantiateViewControllerWithIdentifier("offerNavigation") as UINavigationController
    let targetVC = offerVC.topViewController as OfferViewController
    self.presentViewController(targetVC, animated: true, completion: nil);

2 个答案:

答案 0 :(得分:1)

我假设offerVC是在其中嵌入“目标”视图控制器的navigationController。如果是,则可以通过offerVC的topViewController属性访问目标视图控制器。所以

let targetVC = offerVC.topViewController as TargetViewController

会给你一个参考。然后,您可以访问目标视图控制器的属性。

修改

但你应该提供OfferVC - 它会自动显示targetVC。

self.presentViewController(offerVC, animated: true, completion: nil);

答案 1 :(得分:0)

您可以向OfferViewController添加属性,然后分配。您的视图初始化代码将在loadView中完成,直到presentViewController之后才会调用它,因此在init期间没有它在大多数情况下都不应该成为问题。