#import <UIKit/UIKit.h>
@interface UIButton (Event)
-(void)handleAction:(void(^)(void))block;
@interface UIButton (Event)
-(void)handleAction:(void(^)(void))block;
@end
#import "UIButton+Event.h"
#import <objc/runtime.h>
typedef void(^ActcionBlock) (void);
@implementation UIButton (Event)
static char key;
-(void)handleAction:(void(^)(void))block
{
[self addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
objc_setAssociatedObject(self, &key, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
-(void)buttonClick:(UIButton*)button
{
ActcionBlock block = objc_getAssociatedObject(self, &key);
if (block != nil) {
block();
}
}
@end