IOS之代理的使用(重点)
IOS的代理(Delegate) 是学习的重难点,必须学会,必须滚瓜烂熟
1.点击自定义视图的时候,创建了一个Label,Label添加到了superView,不合理的地方
2 “越权” 添加Label 的工作上交给视图控制器更合理
解决方法
在按钮被点击的时候,通知视图控制器 => 视图控制器监听按钮的点击 => 视图控制器是自定义视图的代理
第一步:
//1. 协议名 以类名开始+Delegate
@protocol AppInfoDelegate
第二步:
//2. 协议方法,以类名开始(没有类前缀) ,第一个参数是自己
//由于代码由上往下编译,导致没有找到,@interface太早,需要 使用@class 进行类引用
@required
-(void)appInfoViewDidClickDownLoadButton:(AppInfoView *_Nullable)appInfoView;
第三步:
//3.定义代理属性,遵守了AppInfoDelegate 协议的任意一个对象。,都可以成为代理
@property(nonatomic,weak) id delegate;
第四步:
//4. 通知代理
[self.delegate appInfoViewDidClickDownLoadButton:self];
第五步:
//5