一 概述
本节完成通讯录到成员添加页面,成员添加页面填写完姓名和电话号码后保存并返回到通讯录界面:
- prepareForSegue:设置联系人控制器上的标题
- 顺传:控制器之间的传值,需要把登录的账号传给联系人控制器
- 逆传:控制器之间的传值,把添加用户信息传递给联系人控制器
二 效果图
三 功能实现
- 利用performSegueWithIdentifier:方法可以执行某个Segue,完成界面跳转
1 2 3 4 5 6 7
| - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSLog(@"%@---%@--%@",segue.identifier,segue.sourceViewController,segue.destinationViewController); UIViewController *v=segue.destinationViewController; v.navigationItem.title=[NSString stringWithFormat:@"%@的联系人",_accountField.text]; }
|
AddController
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| - (IBAction)add:(id)sender { //回到上一个控制器 [self.navigationController popViewControllerAnimated:YES]; //创建模型 Contact *contact=[Contact contactWithName:_nameField.text phone:_phoneField.text]; //2.把文本框的内容传递给联系人控制器 //[self.contacts setName:_nameField.text phone:_phoneField.text]; //2.通知代理做事情 if ([_delegate respondsToSelector:@selector(viewController:didAddContact:)]) { [_delegate viewController:self didAddContact:contact]; } }
|
1 2 3 4 5 6 7 8 9 10
| - (void)viewController:(AddViewController *)add didAddContact:(Contact *)contact { //把数据展示到联系人界面上 NSLog(@"%@",contact.name); //保存 [self.contacts addObject:contact]; //刷新 [self.tableView reloadData]; }
|