Лучшее решение, которое у меня есть, - это сохранить статическую ссылку на UIAlertView, закрыть (с индексом нажатой кнопки -1), освободить, а затем выделить / инициализировать новый экземпляр по тому же адресу. Это гарантирует, что запланировано или показано только одно предупреждение. Если представление предупреждений уже отображается, игнорируйте (или управляйте) новый запрос (отказоустойчивый всплывающий запрос в корневом представлении или что-то подобное).
Это не очень удовлетворительно, потому что UIAlertView
не имеют ничего общего с работой и не должны быть статичными. По крайней мере, на мой взгляд.