//***************************************************************************** 06 自定义代理 delegate
创建 自定义代理的三大步骤:
(1)定义代理协议
// CZFooterView.h 创建的类中
// #import<UIKit/UIKit.h >
@class CZFooterView;
@optional //可选的
@protocol CZFooterViewDelegate <NSObject>
-(void)footerViewDidClickedLoadMoreBtn:(CZFooterView *)CZFooterView;
// @end
(2)定义代理属性
// @interface CZFooterView:UIView
@property (nonatomic,weak) id<CZFooterViewDelegate> delegate;
// +(instancetype)footerView;
// @end
// CZFooterView.m
(3)向代理对象发送消息
//判断代理对象是否有这个方法
// -(IBAction)loadMoreClick{
if ([self.delegate respondsToSelector:@selector
(footerViewDidClickedLoadMoreBtn:)]) {
[self.delegate footerViewDidClickedLoadMoreBtn:self];
}
// }
使用 自定义代理的三大步骤:
// viewController.m
(1)遵守代理协议
@interface ViewController ()<UITableViewDataSource,CZFooterViewDelegate>
(2)设置代理属性
// -(void)viewDidLoad{
footerView.delegate =self;
// }
(3)实现代理方法
#pragma mark -footerView 的代理方法
-(void)footerViewDidClickedLoadMoreBtn:(CZFooterView *) footerView
{
CZGroupBuying *gb =[[CZGroupBuying alloc]init];
gb.title = @"牛肉面";
gb.price = @"10";
gb.buyCount = @"1000";
gb.icon = @"9328409128034988798715";
[self.groupBuying addObject:gb];
[self.tableView reloadData];
}
IOS学习之——自定义代理delegate
最新推荐文章于 2018-11-29 17:59:16 发布