1.在需要把数据传到外面的地方申明代理
@protocol NextViewControllerDelegate <NSObject>
2.声明代理方法
- (void)didLoadDataWithMessage:(NSString *)message;//定义或申明
@end//对应@protocol
一般代理定义在 #import<UIKit/UIKit.h> 至 @interface之间
3.定义属性 实现代理方可以通过这个属性 找到这个代理(较难理解)
@property (nonatomic, assign)id<NextViewControllerDelegate>delegate;//NextViewControllerDelegate为你的代理名
4.代理一般用于传值,在需要传值的地方调用代理
[self.delegate didLoadDataWithMessage:@"hehehe"];//将hehehe传给实现代理的地方
5.在需要传值的地方 引入代理 @interface ViewController ()<NextViewControllerDelegate>
6.定义变量,挂上代理(用声明代理的类,定义对象,挂上代理)
NextViewController *nextView = [[NextViewController alloc]init];
// 5.挂上代理
nextView.delegate = self;
7.实现代理方法 接收传过来的值
- (void)didLoadDataWithMessage:(NSString *)message{
NSLog(@"%@",message);
label.text = message;
}
最后希望看到这篇文章的人多评论,以便改善,当然我不介意大家关注我,大家一起学习,一起进步,谢谢!