iOS -- 通过runtime向Button的点击方法里传递参数实现单选效果

本文介绍如何通过Objective-C的runtime技术,在点击Button时传递参数,以实现单选效果。当点击其中一个Button时,其他Button的选中状态会自动取消,提升代码复用性。主要涉及objc_setAssociatedObject和objc_getAssociatedObject这两个方法。
摘要由CSDN通过智能技术生成

效果:

有三个button点击其中一个将其他两个的选中状态取消,相当于单选的效果:

由于三个不同是同一类型的按钮,如果点击三个按钮都调用一个方法将会避免我们的代码重复,提高工作效率。那么要实现这样的代码效果我们就必须在点击方法里边将另外两个button的状态改变,并且点击的button不确定,其他的button也是不能确定的,这就需要我们在点击button调用点击方法的时候将另外两个button作为参数传到点击方法中去,

实现方法:

现在来分享一种传递的方法:

首先引入头文件#import <objc/runtime.h>

运用以下两个方法存取对象


                                         本对象              对应的标识                 需要关联的对象      关联类型

objc_setAssociatedObject(<#id object#>, <#const void *key#>, <#id value#>, <#objc_AssociationPolicy policy#>)    //这是关联方法



                      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值