本文属于小白初创,如有什么问题,请各路大神留下发财的小手多多指点迷津,在这里不胜感激!
话不多说,直接上代码
我们要明确确定谁是代理的那个人。
例如:A是老板,B是员工,A让B去给我做一个事情,那么这个B就是属于代理的对象
首先是写一个协议:
以oneViewController和twoViewController区分
在twoViewController.h里面定义协议和属性
// 定义协议
@protocol proValue <NSObject>
-(void)proValueMass:(NSString *)info;
@end
// 这里的NSString是你自己传值的类型,这里是字符串类型就写NSString类型
然后就是定义属性
// 定义属性
@property (nonatomic,assign) id<proValue> delegate;
前两部完成到twoViewController.m里面去
在你的事件里面调用代理方法 //我这写了一个UIButton的事件
-(void)click:(UIButton *)sender{
[self.delegate proValueMass:self.tf.text];// proValueMass这个是自己定义协议自己起的名字
[self dismissViewControllerAnimated:YES completion:nil];
}
到这里我们的代理已经基本实现,下一步就是到oneViewController去实现传值
在oneViewController.m里面要签协议
你属性的<>里面写的什么,就签什么协议 // proValue 我这里写的这个
// 跳转方法里面一定要写代理 要不然传不回来数据
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
oneViewController *one = [[oneViewController alloc]init];
one.delegate = self; // 必须写,不然没数据
[self presentViewController:one animated:YES completion:nil];
}
// 这步是在twoViewController.h里面写的协议,调到oneViewController.m里面使用
-(void)proValueMass:(NSString *)info{
self.label.text = info;
}
到这里代理已经完善,也是初学,请各位大神或者初学者可以多多指教,不对的地方可以留言说明,尽快更改!