Ho un codice funzionante da un tutorial ma non lo capisco completamente.iOS Principiante: Finestra UIAlertView con 3 pulsanti> Controllare quale pulsante è stato premuto
Situazione:
Dopo un tasto è stato premuto nel mio iPhone App un AlertView appare con tre pulsanti. Ora mi piace controllare quale pulsante l'utente ha premuto.
CODICE dal tutorial:
- (IBAction)infoButtonPressed:(id)sender {
UIAlertView *myAlert1 = [[UIAlertView alloc]initWithTitle:@"My Alert View 1"
message:@"Here we go"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Option1", @"Option2", nil];
[alert show];
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
NSLog(@"Button: %i, was pressed.", buttonIndex);
}
codice funziona, vedo l'output corretto nella console come NSLog, ma come è possibile che il metodo:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
NSLog(@"Button: %i, was pressed.", buttonIndex);
}
si riferisce alla vista di avviso corretta. In questo caso: myAlert1.
Che dire con più di una vista di avviso. Ad esempio un secondo che chiama myAlert2.
So che il seguente codice non è corretto, ma avrebbe più senso per me se avrei scritto il metodo come segue:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
NSLog(@"Button: %i, was pressed.", buttonIndex_FROM_myAlert1);
}
spera che possiate aiutare, mi fa impazzire.
saluti, Marc
Grazie Ole, ora ci sono. Guten Rutsch insneue Jahr! (Tedesco per Happy New Year) ;-) –
Oltre alla tua risposta, ho appena trovato un ottimo post su più di una visualizzazione di avviso e su come distinguerli + codice. Solo per gli altri principianti che hanno lo stesso problema: –
http://stackoverflow.com/questions/6276819/ios-two-uialert-with-two-different-delegate-methods –