IOS開發之——私人通訊錄控制器間傳值(53)

一 概述

本節完成通訊錄到成員添加頁面,成員添加頁面填寫完姓名和電話號碼後保存並返回到通訊錄界面:

  • 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];
    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章