Не удается заставить UIAlert работать - PullRequest
0 голосов
/ 13 февраля 2011

Кто-то видит что-то не так с этим?У меня есть UIAltertView, но я получаю EXC_BAD_ACCESS, когда я нажимаю любую из двух кнопок:

    UIAlertView *alert = [[UIAlertView alloc] init];
    [alert setTitle:@"First Sync"];
    [alert setMessage:@"The App is going to do its first synchronisation. This might take a few moment..."];
    [alert setDelegate:self];
    [alert addButtonWithTitle:@"OK"];
    [alert addButtonWithTitle:@"Cancel"];
    [alert show];
    [alert release];

и ловлю ответ:

#pragma mark UIAlertView
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex != 0)
    {
            NSLog(@"TEST1");
        return;
    }   
NSLog(@"TEST2");
}

Это должно быть что-то простое ...

Ответы [ 2 ]

1 голос
/ 13 февраля 2011

Вы должны будете использовать назначенный инициализатор:

initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:

0 голосов
/ 13 февраля 2011

Как указывалось выше, проблема заключалась в том, что UIAlert был сгенерирован в потоке. Используя NSCondition и запуская Alert в фоновый поток, я заставил рабочий поток ждать, пока фоновый поток ожидает ответа от пользователя. Как только приходит ответ, он сигнализирует рабочему потоку о продолжении (так как требуемые данные хранятся в базе данных в этот момент).

...