我從我的應用程序插入數據到服務器數據庫。提交按鈕上的 我正在調用inserdata web服務。 我的數據插入數據庫。但我有一個問題, 之前我得到第一個結果時,當我再次點擊提交按鈕,然後相同的記錄多次插入數據庫。避免在iOS中的多個Web服務調用
請幫助我該如何避免這種情況。 (也錯誤地我多次點擊提交按鈕,然後多次插入相同的記錄)。
當Web服務觸發第一次我從我的應用程序插入數據到服務器數據庫。提交按鈕上的 我正在調用inserdata web服務。 我的數據插入數據庫。但我有一個問題, 之前我得到第一個結果時,當我再次點擊提交按鈕,然後相同的記錄多次插入數據庫。避免在iOS中的多個Web服務調用
請幫助我該如何避免這種情況。 (也錯誤地我多次點擊提交按鈕,然後多次插入相同的記錄)。
當Web服務觸發第一次....集button.selected = yes和在功能檢查,如果按鈕isSelected那麼不執行操作。使用這個布爾值來區分兩個條件。
當用戶按下提交鍵,顯示進步HUD或活動的指標視圖(裝載疊加)。這會讓用戶知道某些處理正在進行,並且不會觸發任何其他操作。
還設置同步屬性到您調用此WebService的對象。 (當你同步執行某個東西時,等待它完成後再繼續執行另一個任務,當你異步執行某個東西時,可以在完成之前繼續執行另一個任務。)
當你得到響應時,清除所有數據從您的窗體或您的應用程序。因爲如果數據被清除,則用戶不能在數據庫中插入相同的記錄。
所以,無需禁用提交按鈕。
試試這個。
- (IBAction)doneCollectionSaveAction:(id)sender {
if([activity isAnimating]==YES){
[ALToastView toastInView:[UIApplication sharedApplication].keyWindow withText:@"Please wait..."];
}else{
[self addToCollection];
}
}
or
- (IBAction)doneCollectionSaveAction:(UIButton *)sender {
if (sender.selected==YES) {
//do nothing
[ALToastView toastInView:[UIApplication sharedApplication].keyWindow withText:@"Please wait..."];
}else{
//send data to server
self.buttonDoneOutlet.selected=YES;
[self addToCollection];
}
}
//and self.buttonDoneOutlet.selected=NO; //failure network call
禁用按鈕,直到收到一個迴應? – Wain
限制插入數據時提交按鈕點擊,然後得到的數據,如果可能的話,當記錄添加成功然後提交表單,提交按鈕位於出來,所以當用戶按下任何一個可以再次按下此按鈕 – VRAwesome
提交按鈕,顯示活動指示器查看(*** loading overlay ***)。這會讓用戶知道某些處理正在進行,並且不會觸發任何其他操作 – PK20