Segue的属性
•
每一个
Segue
对象,都有
3
个属性
Ø
唯一标识
@property (nonatomic,readonly) NSString*identifier;
Ø
来源控制器
@property (nonatomic,readonly) idsourceViewController;
Ø
目标控制器
@property (nonatomic,readonly) iddestinationViewController;
Segue的类型
•
根据
Segue
的执行(跳转)时刻,
Segue
可以分为
2
大类型
Ø
自动型:点击某个控件后(比如按钮),自动执行
Segue
,
自动完成界面跳转
Ø
手动型:需要通过写代码手动执行
Segue
,才能完成界面跳转
自动型:如果点击某个控件后,不需要做任何判断,一定要跳转到下一个界面,建议使用“自动型Segue”
手动型:如果点击某个控件后,需要做一些判断,也就是说:满足一定条件后才跳转到下一个界面,建议使用“手动型Segue”
•
在恰当的时刻,使用
perform
方法执行对应的
Segue
// 1. Segue必须由来源控制器来执行,也就是说,这个perform方法必须由来源控制器来调用
- (void) performSegueWithIdentifier:(NSString *)identifier sender:(id)sender
// 2.这个sender是当初performSegueWithIdentifier:sender:中传入的sender
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender;
3.
调用
Segue
对象的
- (
void
)perform;
方法开始执行界面跳转
操作
(1)
如果
segue
的
style
是
push
Ø
取得
sourceViewController
所在的
UINavigationController
Ø
调用
UINavigationController
的
push
方法将
destinationViewController
压入栈中,
完成跳转
(2)
如果
segue
的
style
是
modal
Ø
调用
sourceViewController
的
presentViewController
方法将
destinationViewController
展示出来