performSegueWithIdentifier底層實(shí)現(xiàn)
1.到StoryBoard當(dāng)中去查找有沒(méi)有給定標(biāo)識(shí)的segue.
2.根據(jù)指定的標(biāo)識(shí),創(chuàng)建一個(gè)UIStoryboardSegue對(duì)象之后, 把當(dāng)前的控制器,給它源控制器屬性賦值(segue.sourceViewController).
3.UIStoryboardSegue對(duì)象,再去創(chuàng)建它的目標(biāo)控制器.給UIStoryboardSegue的目標(biāo)控制器屬性(segue.destinationViewController)賦值
4.調(diào)用當(dāng)前控制器prepareForSegue:方法,告訴用戶,當(dāng)前的線已經(jīng)準(zhǔn)備好了.
5.[segue perform]
[segue.sourceViewController.navigationController pushViewController:segue.destinationViewController animated:YES];
自動(dòng)跳轉(zhuǎn)
//準(zhǔn)備跳轉(zhuǎn)前調(diào)用
//做一些傳遞數(shù)據(jù).
//傳遞數(shù)據(jù)(順數(shù)數(shù)據(jù))
//1.數(shù)據(jù)接收的控制器(XMGContactVC_2)定義一個(gè)屬性,來(lái)接收數(shù)據(jù)
//2.數(shù)據(jù)的來(lái)源控制器要拿到數(shù)據(jù)接收的控制器.
//3.給接收的控制器的接收數(shù)據(jù)的屬性給它賦值.
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
//要跳轉(zhuǎn)的目標(biāo)控制器
NSLog(@"%@",segue.destinationViewController);
//源控制器
NSLog(@"%@",segue.sourceViewController);
}