Potrzebuję zablokować UIAlertView
. Ponieważ mam funkcję i muszę zwrócić wybór UIAlertView
. Ale problem polega na tym, że po wyświetleniu UIAlertView
mój kod funkcji jest wykonywany dalej, więc nie mogę złapać wyboru UIAlertView
(mogę to zrobić w metodach delegatów, ale muszę zwrócić wynik funkcji).UIAlertView blokowanie
Próbowałem zablokować za pomocą NSCondition
. Ale kod nie działa.
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] ;
}
Może naprawić ten kod lub inne sugestie? Dzięki
Dzięki. Przeprojektowałem moją logikę funkcji. – kesrut