在实际开发工作中,我们经常会在自定义的Cell中布局一些按钮,并且很多时候我们会在点击这个按钮的时候使我们的UItableviewController跳转到下一界面,有的可能还要传值。那么如何使我们的控制器能够获知我们按下了cell的按钮呢?毫无疑问,这是个代理模式的典型应用场景。
首先我们先得定义一个cell。.h文件如下:
@protocol MycellDelegate <NSObject>
@optional
-(void)didClickButton:(UIButton *)button;
@end
@interface Mycell : UITableViewCell
+(instancetype)cellWithtableView:(UITableView *)tableview;
@property(nonatomic,strong)DateModel *model;
@property(nonatomic,weak) id<MycellDelegate> delegate;
.m文件如下:
#import "Mycell.h"
@interface Mycell()
@property(nonatomic,strong)UIButton *button;
@end
@implementation Mycell
+(instancetype)cellWithtableView:(UITableView *)tableview
{
static NSString *ID = @"cell";
Mycell *cell = [tableview dequeueReusableCellWithIdentifie