iOS:一个可以持有Model的Button

UIButton-JLModelButton

Github地址
一个 UIButton 的分类,使用 Runtime 动态绑定使它能够持有 model 属性(id 类型),便于直接在点击事件中抓取数据。

这是在一个项目需求中想到的,用于减少获取 Button 对应的 model 产生错误,同时减少可能出现的遍历以提升效率。

例如:
页面中有一组 Button ,可以将他们对应的 model 直接赋值给 UIButton 对象,等我们需要获取的时候,可以直接在 Button 的点击事件当中获取到其对应 model 。

1.创建 Button 时将 Model 赋值给它

JLButtonModel *model = self.dataArr[i];
UIButton *btn = [[UIButton alloc] init];
btn.model = model;
[btn addTarget:self action:@selector(didTouchBtn:) forControlEvents:UIControlEventTouchUpInside];

2.在 Button 的点击事件当中直接通过属性取值

- (void)didTouchBtn:(UIButton*)sender{

  JLButtonModel *model = (JLButtonModel*)sender.model;

}

欢迎关注公众号来分享知识


iOS技术公众号320.jpeg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,156评论 1 32
  • 1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi阅读 5,215评论 3 23
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,618评论 0 17
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,388评论 0 1
  • 下雨天,让人很是轻松,但是又有莫名其妙的惆怅,我不知道这是一种什么样的感觉?趁着今天下班还算早,我拨通爸爸的电...
    辣笔小欣阅读 196评论 1 1