一 概述
本節完成通訊錄到成員添加頁面,成員添加頁面填寫完姓名和電話號碼後保存並返回到通訊錄界面:
-
prepareForSegue:設置聯繫人控制器上的標題
-
順傳:控制器之間的傳值,需要把登錄的賬號傳給聯繫人控制器
-
逆傳:控制器之間的傳值,把添加用戶信息傳遞給聯繫人控制器
二 效果圖
三 功能實現
3.1 prepareForSegue(Login->Contact)
-
利用performSegueWithIdentifier:方法可以執行某個Segue,完成界面跳轉
3.2 順傳(Login->Contact)
- (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]; }
3.3 逆傳(Add->Contact)
AddController
- (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]; } }
ContactController
- (void)viewController:(AddViewController *)add didAddContact:(Contact *)contact { //把數據展示到聯繫人界面上 NSLog(@"%@",contact.name); //保存 [self.contacts addObject:contact]; //刷新 [self.tableView reloadData]; }