IOS中代理的使用频率非常高,这次就介绍一下delegate的基本使用,首先代理分为委托方和代理方
委托方 调用代理的地方
Bviewcontroller.h
/**
委托方第一件事,声明代理协议
*/
@protocol BViewControllerDelegate <NSObject>
-(void)callbackVlaue:(NSString*)backValue;
@end
@interface BViewController : UIViewController
//委托方第二件事,声明代理人属性 (协议类型)
@property(nonatomic,weak)id<BViewControllerDelegate> delegate;
@end
Bviewcontroller.m
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
//委托方第三件事 在适当的实际通知代理人执行代理方法
[self.delegate callbackVlaue:self.field.text];
[self dismissViewControllerAnimated:YES completion:nil];
}
代理方 遵守协议 实现代理的地方
Aviewcontroller
//代理方 第一件事 遵守代理协议
@interface AViewController () <BViewControllerDelegate>
@property(nonatomic)UILabel *label;
@end
@implementation AViewControll