今天項目遇到一個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) {
}];
}