Если вы делаете асинхронный вызов веб-службы, вам нужно подождать, пока это не будет завершено, до повторного включения вашей кнопки. Не используйте таймер, так как вы не знаете, сколько времени потребуется на завершение вызова.
Не видя вызова с вашего сервера, я не могу дать полный ответ, но выдолжен делать что-то вроде этого ...
@IBAction func btnBackAction(_ sender: UIButton) {
sender.isUserInteractionEnabled = false
Webservice().loadData { result in // Your async server call
sender.isUserInteractionEnabled = true
// Handle the result
// performSegue goes here if you need to wait until your server call is complete
self.performSegue(withIdentifier: "HomePageViewController", sender: nil)
}
}