OC方法执行间隔,解决快速点击多次执行等问题

Button,UIBarButtonItem等快速点击导致多次执行,或者使方法两次调用之间需要间隔一定时间才执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
#define XCMethodInterval \
static const char * lastPerformDateKey = __FUNCTION__;\
NSDate * lastPerformDate = objc_getAssociatedObject(self,lastPerformDateKey);\
if (lastPerformDate) {\
if ([lastPerformDate isKindOfClass:[NSDate class]]) {\
NSInteger t = fabs([lastPerformDate timeIntervalSinceNow]*1000);\
LOG(@"%ld",(long)t);\
if (t<1500) {\
return;\
}\
}\
}\
objc_setAssociatedObject(self,lastPerformDateKey, [NSDate date], OBJC_ASSOCIATION_RETAIN);
Share Comments