Как проверить, было ли отклонено uialertview? - PullRequest
0 голосов
/ 08 января 2012

в моей программе у меня есть два способа отменить просмотр uialertview: один по нажатию кнопки и один по nstimer. Если кнопка нажата до того, как сработает таймер, моя программа закроется, когда сработает таймер. Как проверить состояние uialertview, чтобы таймер знал, следует ли выполнить сообщение о прекращении? И какой оператор NSLog я должен использовать для отладки.

1 Ответ

1 голос
/ 08 января 2012

Я предполагаю, что ваше приложение аварийно завершает работу, поскольку у вас есть устаревший указатель на освобожденную UIAlertView.Я предполагаю, что вы не сбрасываете переменную экземпляра, которая ссылается на UIAlertView.

. Вы наверняка получили переменную экземпляра для сохранения указателя UIAlertView.Вам также необходимо установить свойство delegate, например:

myAlert = [[UIAlertView alloc] initWithTitle:...];
myAlert.delegate = self;
[myAlert show];
// Now setup the timer

Ваш класс должен реализовывать протокол UIAlertViewDelegate , в частности, вам необходимо реализовать alertView:willDismissWithButtonIndex: и / или alertView:didDismissWithButtonIndex: (я бы использовал позже).В этом методе вы сбрасываете переменную экземпляра:

[myAlert release];
myAlert = nil;
// Also cancel timer

Отмена таймера уже не , что более важно, так как установка переменной на nil является важной частью.Как только таймер сработает, он больше не выйдет из строя (но отмена таймера все равно будет хорошей идеей).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...