Swift如果有多个AlertView被推送,则只显示一个AlertView

时间:2016-02-02 02:30:53

标签: ios swift uialertview

如果我在控制器上有多个AlertView,如果它们全部分别触发,如何使它只显示最后一个AlertView?请看下面的代码:

for

由于getAPI1,getAPI2和getAPI3需要执行,无论其中一个是否收到错误,如何只显示最后一个AlertView?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用变量来存储当前正在激活和显示的警报。

var activeAlert : UIAlertView! = nil

每次显示警报时,检查之前是否显示任何警报。你可以这样检查

if nil != activeAlert {
    activeAlert.dismissWithClickedButtonIndex(-1, animated: false)
    //show your new alert here
}

这样可以确保始终显示最后一个警报。确保您正在实施alertView:clickedButtonAtIndex:协议的UIAlertViewDelegate方法。此外,{9.0}已弃用UIAlertView,因此我建议您使用UIAlertViewController代替