UIstoryboardSegue作成されたsegueオブジェクト使用{{UIstoryboardSegue:さくせいされたsegueおぶじぇくとしよう}}

2149 ワード

#import "MBProgressHUD+XMG.h"

- (IBAction)loginBtnClick:(id)sender {

    //                   
    [MBProgressHUD showMessage:@"    ..." toView:self.view];
    if ([self.accountTextF.text isEqualToString:@"xmg"] && [self.pwdTextF.text isEqualToString:@"123"]) {
        [MBProgressHUD hideHUDForView:self.view];
        //        
        [self performSegueWithIdentifier:@"contactVC" sender:nil];

    }else {
         [MBProgressHUD hideHUDForView:self.view];
        //    
        [MBProgressHUD showError:@"       "];
    }



    //performSegueWithIdentifier    
    //1.     storyBaord          segue
    //2.      segue  (UIStoryboardSegue)
    //3.  segue       .       ,   segue           .
    //4.     prepareForSegue  ,  segue    .
    //5.[segue perform]; [self.navigationController pushViewController:segue.destinationViewController animated:YES];

}

//        ,        
//         ,    ,          ,        
//       ,             ,      

//    (  )
//1.                       
//2.       
//3.             
//    ,    performSegueWithIdentifier     ,       ,     
//   ,     storyboard                 ,       ,  
//                      
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    NSLog(@"%@",segue.sourceViewController);
    NSLog(@"%@",segue.destinationViewController);
   XMGContactVC_2 *contact =  (XMGContactVC_2 *)segue.destinationViewController;
    contact.accountName = self.accountTextF.text;

    //    prepareForSegue   ,   ,  performSegueWithIdentifier        [segue perform]  ,    ,       ,     ,    ,          
    // [segue perform];
}

  • performSegueWithIdentifier最下位実装
  • 1.標識からstoryBaordまで指定標識があるかどうかを調べるsegue(筆者のイメージでは渡航者の番号と考えられる)
  • .識別情報に基づいてsegueオブジェクト(UIstoryboardSegue-bai)
  • を作成する.
  • 3.segueオブジェクトのソースコントローラを設定する.ターゲットコントローラを作成し,segueのターゲットコントローラ属性に値を設定する.
  • .
  • 4.prepareForSegueメソッドが自動的に呼び出され、segueの準備が完了したことを通知します.
  • 5.[segue perform]; [self.navigationController pushViewController:segue.destinationViewController animated:YES];