IOSiOS开发iOS学习笔记

界面之间的跳转传递模型数据注意点

2016-02-23  本文已影响138人  Z了个L
// XMGContactVC_2.h
#import <UIKit/UIKit.h>

@class XMGContactItem;
@interface XMGContactVC_2 : UITableViewController

/** 用户名*/
@property (nonatomic ,strong) NSString *accountName;

/** 联系人模型*/
@property (nonatomic ,strong) XMGContactItem *contactItem;

@end

// XMGContactVC_2.m  -- 只给了部分代码
#import "XMGContactVC-2.h"
#import "XMGAddVC-3.h"
#import "XMGContactItem.h"
#import "XMGEditVC-4.h"

@interface XMGContactVC_2 ()<UIActionSheetDelegate,XMGAddVCDelegate>

/** 存放传递的ContactItem模型*/
@property (nonatomic ,strong) NSMutableArray *dataArray;

@end

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    //获取目标控制器

    if ([segue.destinationViewController isKindOfClass:[XMGAddVC_3 class]]) {
        XMGAddVC_3 *addVC=  (XMGAddVC_3 *)segue.destinationViewController;
        //addVC.contactVC = self;
        //设置代理
        addVC.delegate = self;
    }else {

       XMGEditVC_4  *eidtVC=  (XMGEditVC_4 *)segue.destinationViewController;

        //取出当前选中的行模型
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        XMGContactItem *item = self.dataArray[indexPath.row];
        //eidtVC.view.backgroundColor = [UIColor redColor];
        //把当前选中的行模型传递给下一个控制器
        eidtVC.contactItem = item;

    }


}

@end

把当前选中的行模型传递给下一个控制器eidtVC.contactItem = item;

// XMGEditVC_4.h
#import <UIKit/UIKit.h>

@class XMGContactItem;
@interface XMGEditVC_4 : UIViewController

/** 当前选中的行模型*/
@property (nonatomic ,strong) XMGContactItem *contactItem;


@end

// XMGEditVC_4.m

#import "XMGEditVC-4.h"
#import "XMGContactItem.h"

@interface XMGEditVC_4 ()
@property (weak, nonatomic) IBOutlet UITextField *nameTextF;
@property (weak, nonatomic) IBOutlet UITextField *phoneTextF;

@end

@implementation XMGEditVC_4

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.


//    NSLog(@"self.contactItem.name===%@",self.contactItem.name);
//    第二种方式给两个文本框赋值
//    self.nameTextF.text = self.contactItem.name;
//    self.phoneTextF.text = self.contactItem.phone;

}

// 第一种方式给两个文本框赋值
- (void)setContactItem:(XMGContactItem *)contactItem {
    _contactItem = contactItem;

    self.nameTextF.text = self.contactItem.name;
    self.phoneTextF.text = self.contactItem.phone;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.


//    NSLog(@"self.contactItem.name===%@",self.contactItem.name);
    self.nameTextF.text = self.contactItem.name;
    self.phoneTextF.text = self.contactItem.phone;

}

//- (void)setContactItem:(XMGContactItem *)contactItem {
//    _contactItem = contactItem;
//
//    self.nameTextF.text = self.contactItem.name;
//    self.phoneTextF.text = self.contactItem.phone;
//}
上一篇 下一篇

猜你喜欢

热点阅读