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

};

效果图:


4D373E9C-2A7C-47FB-B900-A0BF8E8971DD.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,419评论 30 472
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 12,993评论 3 38
  • 前言 问题背景:自定义cell中有一个UITextField类型的子控件。我们经常要在tableView中拿到某个...
    VV木公子阅读 16,262评论 55 103
  • 天空下 你 摇摇欲坠 跌跌撞撞 走我眼前飘过 惊醒了我的梦 不远处 你 卷起身躯 在松软的泥土里 落脚安息 风在呼...
    翦梦阅读 2,593评论 6 20
  • @此間的時 人是需要被提醒的。就如同你说,下雪的日子才叫冬。而我,却并不关心今年的冬天下没下雪啊,我只关心的是,两...
    何天天HeTiantian阅读 2,578评论 0 2

友情链接更多精彩内容