我有两个视图,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的示例。这是一个非常普遍的问题。