Есть alertView:clickedButtonAtIndex:
, alertView:didDismissWithButtonIndex:
и alertView:willDismissWithButtonIndex:
. Метод, на который вы ссылаетесь (clickedButtonAtIndex:
), вызывается только тогда, когда пользователь явно нажимает на кнопку в окне просмотра предупреждений (следовательно, «нажал»).
Программные вызовы через dismissWithClickedButtonIndex:animated:
для отмены предупреждения, похоже, не вызывают alertView:clickedButtonAtIndex:
.
Таким образом, если вам нужно, чтобы какое-то поведение всегда вызывалось при закрытии представления оповещения - независимо от того, было ли оно запущено пользователем при нажатии на кнопку или запущено программно - тогда использование didDismissWithButtonIndex:
и willDismissWithButtonIndex:
имеет больше смысла .