clickedButtonAtIndex method is not called

2019-03-04 14:26发布

问题:

when the user click on a button on the UIAlertView the clickedButtonAtIndex method is supposed to be called, however, it doesn't :

in the .h i have called the UIAlertView protocol :

@interface RechercherViewController : UIViewController<UIAlertViewDelegate>  {

//code
}

and in .m file i have this :

-(void)requestFailed:(ASIHTTPRequest *)request
{
    //quand il y aura un échec lors de l'envoie de la requête

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"TopStation"
                                                message :@"Your internet connexion is down"
                                                delegate:nil
                                       cancelButtonTitle:@"OK"
                                       otherButtonTitles:nil];

                       [alert show];
                       [alert release];

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex == 0) {
        NSLog(@"buttonIndex 0");
    } else if(buttonIndex == 1) {
        NSLog(@"buttonIndex 1");
    }
}

nothing is shown in the log file, please help, thx in advance :)

回答1:

delegate:nil is the problem. Pass self as the delegate to initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:.



回答2:

You're passing nil as the delegate argument. Pass self instead.