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. [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
  5. - (void)click:(UIButton *)sender
  6. {
  7. id first = objc_getAssociatedObject(btn, "firstObject");        //取参
  8. id second = objc_setAssociatedObject(btn, "secondObject");
  9. // etc.
  10. }
上一篇:【Java每日一题】20161226


下一篇:【Java每日一题】20161227