我有两个视图,actualView和nextView。其实,在actualView中,我想打开nextView并传递一些属性(例如nextView.date = ActualView.date),然后杀死actualView。

我想知道是否可能?

我使用了该代码:

NSLog(@"Views : %@",self.navigationController.viewControllers);

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
FormViewController *formView = (FormViewController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"formView"];
formView.delegate = self;
[self presentViewController:formView
                   animated:YES
                 completion:nil];

 [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

当我在此“actualView”中使用 self.navigationController.viewControllers 时,它知道它在哪里:
但是当我在ActualView中使用 self.navigationController.viewControllers 时,它为(null)...
那么代表可能有问题吗?

最佳答案

您可以将两个视图与当前的模态连接连接起来,这会杀死实际视图并转到下一个视图。
这是很好的解释https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/Chapters/StoryboardSegue.html

至于将值从一个视图传递到另一个视图,请检查此功能:

覆盖func prepareForSegue(segue:UIStoryboardSegue,发送者:AnyObject?){

    if (segue.identifier == "segue identifier connecting the 2 views") {

        let viewController = segue.destinationViewController as!  UINavigationController
        let detailview = viewController.topViewController as! nextViewViewController

        detailview.element defined in nextview = value to send

}

您可以在网上找到很多带有标识符的segue的示例。这是一个非常普遍的问题。

10-08 05:55