iOS定時器按鈕短時間內多次點擊只觸發一次事件方法


今天在看別人代碼的時候,有個個60秒獲取驗證碼的功能,做了個定時器,按鈕觸發定時器,點擊按鈕后設置按鈕的enabled為NO,邏輯來講都是沒問題的

但是實際操作的時候,惡意的在短時間內多次點擊那個獲取驗證碼按鈕,按鈕的點擊事件被調用了多次,定時器從而也調用多次,本來一秒減一的事件變成了一秒減多,並且減到0后繼續調用方法,直到響應點擊次數調用完,於是自己進行了下糾正:

按鈕點擊觸發的方法:

在0.2秒時間間隔內多次點擊只響應一次點擊事件。

- (void)clickSecdCodeButton:(UIButton *)button{
    NSLog(@"send code");
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(handleSendSmsResult) object:button];
    [self performSelector:@selector(handleSendSmsResult) withObject:button afterDelay:0.2f];
    [_selectTextField resignFirstResponder];
//    [self requestIdentifyCode:@"" parameters:[@{@"mobilePhoneNumber":self.phoneNumberTextField.text,@"countryCode":@"+86"} mutableCopy]];
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM