IOS学习之——自定义代理delegate

//***************************************************************************** 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)