今天项目遇到一个bug,点击事件后需要通过网络请求判断push到对应的控制器.但是因为存在延时,所以反应慢,会导致用户的多次重复点击,而产生多次push的问题.
// 1. 设置全局BOOL变量
@property (nonatomic, assign) BOOL isPushService;
//2. 逻辑代码
if (self.isPushService == YES) {
DLog(@"被拦截");
return;
} else {
[self requestYearService];//执行请求方法
}
//请求的方法
- (void)requestYearService {
//关闭到达push的方法通过
self.isPushService = YES;
[AFHttpManager postJSONWithUrl:MainUrl(Post_findReplaceYearService) parameters:dicM success:^(id responseObject) {
//进来了又重新可以点击了,这里已经进行push通过了耗时操作,打开BOOL的值
self.isPushService = NO;
}
} failure:^(NSError *error) {
}];
}
网友评论