iOS开发点击cell中的按钮获取cell中的数据

这里使用block来进行,这种方法可以用在对一些文章展示的列表,或者歌曲,视频的列表的收藏功能

首先在cell中,定义一个block,和一个自定义的方法

typedef void(^buttonBlockCall)(HFMusicListItem *item,UIButton *btn);
//block属性
@property(nonatomic, copy)buttonBlockCall buttonBlock;
//自定义的方法
- (void)handlerButtonAction:(buttonBlockCall)block;

然后在cell的.m文件中监听按钮的点击

监听按钮的点击,按钮点击的时候将 模型 和 按钮 放到block中
- (IBAction)lovelyBtnClick:(UIButton *)sender {   
 sender.selected = !sender.selected;  
  if (self.buttonBlock) {    
    self.buttonBlock(self.item,self.lovelyBtn); 
   }
}

//实现自定义方法
- (void)handlerButtonAction:(buttonBlockCall)block {  
  self.buttonBlock = block;
}

回到控制器中,在tableView的代理方法 cellForRowAtIndexPath 中调用cell中自定义的方法

  [listCell handlerButtonAction:^(HFMusicListItem *item,UIButton *btn){

       在这里获取到 这行cell中的数据item 和 按钮
      这里可以判断按钮的状态,获得按钮的tag

};

效果图:


iOS开发点击cell中的按钮获取cell中的数据_第1张图片
4D373E9C-2A7C-47FB-B900-A0BF8E8971DD.png

你可能感兴趣的:(iOS开发点击cell中的按钮获取cell中的数据)