#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 (笔者形象认为是摆渡者的号码)
- 2.根据标识创建segue对象(UIStoryboardSegue--bai)
- 3.设置segue对象的源控制器.创建目标控制器,并且给segue的目标控制器属性设置值.
- 4.会自动调用prepareForSegue方法,告诉segue准备完毕.
- 5.[segue perform]; [self.navigationController pushViewController:segue.destinationViewController animated:YES];