【第二个页面】
1在第二个页面写协议,写在interface 上面
2.在第二个页面 实例化协议的变量
3.让协议变量去做做协议中的方法
【第一个页面】
1.跳转页面的时候,签合同。
vc2.delegate = self; self为vc1
2.在interface中实现这个协议
3.在.m中实现协议方法。
如果想用第二页面传值到第一页面 我们用到了委托代理这个方法
首先
第一步
在第二页面的.h中 写个协议和实体变量
@protocol TwoValueDelegate<NSObject>
第二步
写个协议方法
-(void)TwoValue:(NSString *)str;
@end
第三步
在@interface下,写个实体变量
//id(为任意数据类型)delegate(为委托方法)
@property(nonatomic,weak)id<TwoValueDelegate>delegate;
第四步
在第二页面.m文件中viewWillDisappear下
// 执行delegate协议中的TwoValue方法
-(void)viewWillDisappear:(BOOL)animated{
[self.delegate TwoValue:@"abc"];
}
第五步
在第一文件中.m@interface后写委托方名
@interface OneViewController ()<TwoValueDelegate>
第六步
在第一页面.m中跳转上写delegate委托这个方法为自身
TwoViewController* vc = [[TwoViewController alloc]init];
//关键代码
vc.delegate = self;
[self.navigationController pushViewController:vc animated:YES];
第七步
步调用这个协议方法
-(void)TwoValue:(NSString *)str{
NSLog(@"abc");
}