首页 > 代码库 > iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?

iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?

  1. UIButton *btn = // create the button  
  2. objc_setAssociatedObject(btn, "firstObject", someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);   //实际上就是KVC  
  3. objc_setAssociatedObject(btn, "secondObject", otherObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);  
  4.   
  5. [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];  
  6.   
  7. - (void)click:(UIButton *)sender  
  8. {  
  9.     id first = objc_getAssociatedObject(btn, "firstObject");        //取参  
  10.     id second = objc_setAssociatedObject(btn, "secondObject");  
  11.     // etc.  
  12. }  

iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?