我有一個UIButton
,點擊後會執行網絡代碼。網絡代碼更新服務器上的記錄。如果按鈕被反覆點擊,是否有辦法阻止這個網絡代碼被執行,因爲這會浪費資源?如果重複點擊按鈕,防止執行UIButton的IBAction
0
A
回答
5
在IBAction
,按鈕的isUserInteractionEnabled
屬性更改爲false
當網絡請求執行完畢設置回true
。
1
您可以在類中添加一個標誌,或使用請求對象,以確定應用是否正在發送
開始發送的值更改爲true,就可以完成設置回假
前後通過這種方式,您可以使用與取消按鈕相同的按鈕。 或者您可以顯示有關發送狀態
這裏警報是一個示例:
class ViewController: UIViewController {
var isSending = false
@IBAction func sendTouched(_ sender: UIButton) {
guard !isSending else { return }
send()
}
func send() {
isSending = true
// send data to server
}
// call this after you finish sending
func notifyFinished() {
isSending = false
}
}
相關問題
- 1. 防止onblur代碼執行,如果點擊提交按鈕
- 2. 禁止重複按鈕點擊緩衝
- 3. 重複AnimationDrawable和停止按鈕點擊
- 4. 如何防止按鈕點擊
- 5. 的JavaScript/jQuery的禁止提交點擊按鈕,防止重複提交
- 6. 如何防止彈出Facebook框,如果點擊關閉按鈕
- 7. 按鈕點擊不重複?
- 8. 如果按鈕被點擊,Unity防止跳轉
- 9. 防止快速提交按鈕點擊?
- 10. 防止多個按鈕點擊
- 11. Android - 防止按鈕點擊PopupWindow以外
- 12. jQuery防止回發點擊按鈕
- 13. 防止頁面刷新按鈕點擊
- 14. 按鈕點擊執行PHP
- 15. 執行按鈕與點擊
- 16. 防止按鍵點擊按鈕點擊即使在vb6中
- 17. 如何防止按鈕在Swift中點擊時使uibutton alpha變爲零?
- 18. jQuery防止功能重複點擊
- 19. 執行合併時防止重複行
- 20. EXC_BAD_ACESS當IBAction按鈕被點擊時
- 21. UINavigation欄按鈕,IBAction爲根據點擊
- 22. 防止Silverlight的datagrid選擇從點擊按鈕點擊改變?
- 23. 防止用戶點擊一個特定的按鈕時,正在執行
- 24. 防止點擊一個按鈕,頁面重新加載後
- 25. 防止表單重新提交後點擊按鈕
- 26. 如何在點擊按鈕時阻止重複動作?
- 27. 防止表TR點擊排在點擊按鈕
- 28. 防止重複blockchain攻擊
- 29. 的網頁按鈕執行PHP點擊
- 30. 防止按鈕點擊,而摘要循環運行在角
那在大多數情況下,合適的答案,但並沒有真正適合我的需要。想像一個可以打開和關閉的按鈕,我不想禁用它。其實我認爲一個計時器會是一個好主意,這樣代碼在被按下之後就會被調用。 –
沒有你的問題更精確,你不能得到確切的答案。你爲什麼要多次推一個像按鈕?計時器絕對是一個壞主意。想象一下,如果你的連接非常糟糕,那麼一個請求需要30秒,1秒的計時器如何提供幫助? –