首页 > 代码库 > UI进阶--segue

UI进阶--segue

segue:

Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象(简称Segue)。
技术分享
segue的属性:
1 //唯一标识2 @property (nonatomic, readonly) NSString *identifier;3 //源控制器4 @property (nonatomic, readonly) id sourceViewController;5 //目标控制器6 @property (nonatomic, readonly) id destinationViewController;

segue的类型:

自动型:不需要进行条件判断的跳转,可直接在storyboard中连线跳转即可;

手动型:需要进行条件判断的跳转,就需要手动添加代码来控制跳转;

1、设置segue的唯一标识;

技术分享

2、根据segue的唯一标识进行跳转 ;

1 [self performSegueWithIdentifier:@"identifier" sender:nil];

 

 

控制器的数据传递:

控制器之间的数据传递主要有2种情况:顺传和逆传
顺传
控制器的跳转方向: A --> C
数据的传递方向    : A --> C
数据的传递方式    :  在A的prepareForSegue:sender:方法中根据segue参数取得destinationViewController, 也就是控制器C, 直接给控制器C传递数据

(要在C的viewDidLoad方法中取得数据,来赋值给界面上的UI控件)

技术分享

逆传
控制器的跳转方向: A --> C
数据的传递方向    : C --> A
数据的传递方式    :  让A成为C的代理, 在C中调用A的代理方法,通过代理方法的参数传递数据给A
技术分享

 

UI进阶--segue