
我们可以把它连接到viewController2中的一个按钮上:

这样,当我们点击viewController2中的按钮时,就会返回到我们第一个ViewController1中了。
当然,在使用unwind segue方法时,也是会有一些回调帮助我们进行跳转前的设置和传值,UIViewController如下方法会在跳转前调用,返回NO,则不能进行跳转:
-(BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender{
NSLog(@"canPerformUnwindSegueAction");
return YES;
}
之后会执行我们自定义的unwindSegue方法,这个方法中我们可以什么都不写,模式是会进行跳转的。
2、使用代码跳转Storyboard中的controller
我们除了在Storyboard中拉拉扯扯可以进行控制器的跳转外,我们也可以使用代码来跳转Storyboard中segue连接关系。
在Storyboard中两个控制器间建立一个segue联系,我们可以取一个名字:

在触发跳转的方法中,使用如下方法进行跳转,这里面的参数id就是我们取得segue的id:
- (void)performSegueWithIdentifier:(NSString *)identifier sender:(nullable id)sender NS_AVAILABLE_IOS(5_0);
下面三个属性我们可以获取controller的nib文件名,其storyBoard和其Bundle:
@property(nullable, nonatomic, readonly, copy) NSString *nibName;
@property(nullable, nonatomic, readonly, strong) NSBundle *nibBundle;
@property(nullable, nonatomic, readonly, strong) UIStoryboard *storyboard NS_AVAILABLE_IOS(5_0);
五、UIViewController之间的一些从属关系
这部分的内容和方法可能我们接触用到的并不多,但是在某些情况下,使用这些方法可以大大的方便某些逻辑。
1、parentViewController
UIViewController里面封装了一个数组,可以存放其子ViewController,系统中使用的例子就是导航和tabBar这类的控制器,我们使用如下方法可以直接访问这些父的controller:
@property(nullable,nonatomic,weak,readonly) UIViewController *parentViewController;
2、模态跳转中Controller的从属
在我们进行控制器的跳转时,只要控制器没有被释放,我们都可以顺藤摸瓜的找到它,使用如下两个方法:
//其所present的contller,比如,A和B两个controller,A跳转到B,那么A的presentedViewController就是B










