UIAlertViewDelegate
протокол определяет два метода, alertView:clickedButtonAtIndex:
и alertView:didDismissWithButtonIndex:
, которые, кажется, мне идентичны в полноценности.
Почему там a clickedButtonAtIndex
и a didDismissButtonWithIndex
когда они оба делают то же самое? Я понимаю, что существует также a willDismissButtonWithIndex
это происходит, прежде чем аварийное представление отклонено, но является там любой причиной использовать clickedButtonAtIndex
вместо didDismissButtonWithIndex
?
Я обнаружил более полезное различие между ними:
При отображении UIAlertView
, когда устройство переходит в спящий режим, вызывается alertView: didDismissWithButtonAtIndex:
, хотя вид предупреждений на самом деле не закрывается. Он отображается снова, когда устройство просыпается. alertView: clickedButtonAtIndex:
вызывается только тогда, когда пользователь нажимает одну из кнопок.
alertView: clickedButtonAtIndex:
вызывается, когда пользователь нажимает кнопку в представлении предупреждения, тогда как alertView: didDismissWithButtonIndex:
вызывается после закрытия окна предупреждения с экрана.(См. Справочник по протоколу UIAlertViewDelegate .)
Разница минимальна, но она позволяет вам делать что-то до или после анимации.