UIButton传递参数

今天开发自己项目的时候有个需求,需要UIButton的Action传递多个参数。项目里的实际需求是需要传递NSIndexPath,如果只需要section或者row那很好办,设置tag就可以了。但是两个都需要,所以就要传递对象过去了。这里就涉及到了OBJC运行时,使用关联对象就很好办了。

【iOS】UIButton 传递多个参数的方法 —–使用关联函数
How to add a method with multiple parameters to the selector of a button

这里给出两个连接,讲解的很详细,我就不罗嗦了,代码也很简单。

最后贴出我自己的部分代码,Swift版的,仅作参考:

var AssociatedKey = "IndexPath"
objc_setAssociatedObject(cell!.checkButton, &AssociatedKey, indexPath, UInt(OBJC_ASSOCIATION_RETAIN_NONATOMIC))

func uncheck(sender: UIButton) {
    var indexPath = objc_getAssociatedObject(sender, &AssociatedKey) as! NSIndexPath
}
坚持原创技术分享,您的支持将鼓励我继续创作!