/* 代理传值思路
1.设置协议方法
2.设置一个ViewController为代理,遵循协议,实现协议方法
3.在点击方法里面,另一个ViewController的委托为这个ViewCOntroller,跳转到另一个Viewcontroller
4.另一个ViewController委托代理 使用协议方法赋值
5.跳回刚刚的视图,即可显示回传的数据;*/
附上源码Demo : http://yunpan.cn/cFVfXKCPDWu9Z (提取码:cb2d)
// 第一个视图
#pragma mark - 按钮点击方法
-(void)click{
NextViewController *next = [[NextViewController alloc]init];
next.Delegate = self;
[self presentViewController:next animated:YES completion:nil];
}
#pragma mark 协议方法
-(void)postValueStr:(NSString*)string{
label.text = string;
}
// 第二个视图
@property(nonatomic,retain)id<PostValue>Delegate; // 用来传值的委托
#pragma mark - 按钮点击方法
// 点击跳回刚刚的视图控制器
-(void)click{
// 给委托赋值
[self.Delegate postValueStr:@"这里是next的值"];
// 跳转回
[self dismissViewControllerAnimated:YES completion:nil];
}
// 协议
#import <Foundation/Foundation.h>
@protocol PostValue <NSObject>
@required
-(void)postValueStr:(NSString*)string;
@end