[英]How can i handle the multiple click action to single button for api calling and get the true response from api
我只想知道處理單個按鈕上的多次單擊事件的方法(例如,如果我輕按多個按鈕,則可以使用FACEBOOK之類的按鈕,那么它可能會完美工作),下面的代碼給了您一些想法,如果有合適的解決方案,請盡快給我盡可能。
類LikeViewController:UIViewController {
//MARK:- Outlets
@IBOutlet weak var btnLike: UIButton!
@IBOutlet weak var lblDescription: UILabel!
//MARK:- Variables
var objModelWatchList:WatchListModel?
var objUser = WatchListModel()
//MARK:- Lifecycle methods
override func viewDidLoad() {
super.viewDidLoad()
getWatchList()
}
//MARK:- Functions
//Function for prepare UI
func prepareUI() {
btnLike.isSelected = isLike()
}
//Function for prepare data from api
func getWatchList() {
objUser.videoId = 216
objUser.type = "VIDEO"
APIService.sharedInstance.getWatchList(parameters: objUser.toDictionary() as [String : AnyObject], success: { (dataSuccess) -> (Void) in
self.objModelWatchList = dataSuccess
DispatchQueue.main.async {
self.prepareUI()
self.lblDescription.text = self.objModelWatchList?.message
}
}) { (resultFailure) -> (Void) in
print(resultFailure)
}
}
//Function to varify the status of like
func isLike() -> Bool {
return objModelWatchList!.status == 1 ? true : false
}
//MARK:- Actions
@IBAction func btnLikeClicked(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
self.getWatchList()
}
}
謝謝。
您必須在API調用時禁用按鈕,並且在處理完該響應后u會得到正確的響應時,您必須啟用它。
它對我有用。 我有同樣的問題。
如果您提到管理多個事件點擊...我建議使用tapGestureRecognizer或變體,例如,這些可以管理您評論的事件...:
如果您在不同情況下引用稱為“ somes函數”的同一按鈕,則建議使用例如un tag按鈕:
function examplefunctionA(){
//Another Proccess
//Another Proccess
self.button.tag = 2
}
function examplefunctionB(){
//Another Proccess
//Another Proccess
self.button.tag = 1
}
func buttonclicked(sender: UIButton) {
if sender.tag == 1 {
examplefunctionA()
}else if sender.tag == 2 {
examplefunctionB()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.