Сделать блокировку UIAlertView

Мне нужно сделать блокировку UIAlertView . Поскольку у меня есть функция, и мне нужно вернуть выбор UIAlertView . Но проблема в том, что после показа UIAlertView мой код функции выполняется дальше, поэтому я не могу поймать выбор UIAlertView (я могу сделать это в методах делегата, но мне нужно вернуть результат функции).

Я пытался сделать UIAlertVIew блокировку с NSCondition . Но код не работает.

condition = [NSCondition new];
result = 0 ; 
[condition lock];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Fingerprint" message:@"test" delegate:window_self cancelButtonTitle:@"No" otherButtonTitles:@"Yes",nil];
[alert setDelegate:self];
[alert show];
while (result == 0) [condition wait];
[condition unlock] ;

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
 [condition lock] ;
 if (buttonIndex == 0)
 {
  result = 2; 
 }
 else if (buttonIndex == 1)
 {
  result = 3 ;
 }
 [condition signal] ;
 [condition unlock] ;
}

Может, как исправить этот код или какие-то другие предложения? Спасибо

8
задан Shaggy Frog 20 September 2010 в 17:45
поделиться