UIAlertView no abre url?

Creé una vista de alerta con tres botones – "Registrarse", "Donar", "Cancelar" – cuando haces clic en registrarse o hacer una donación, el safari debería abrirse con el website específico. Sin embargo, cuando abro la aplicación y hago clic en cualquiera de los botones, Safari no abre ni hace nada y los botones funcionan como si fueran versiones diferentes del button de cancelar. Aquí está mi código:

En BlahBlah.h:

@interface BlahBlah: UIViewController <UITextFieldDelegate, UIAlertViewDelegate> { } @end 

En BlahBlah.m:

 #define donate_tag 0 #import "BlahBlah.h" @implementation BlahBlah ... - (void) donate { UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Donate" message:@"Function doesn't work yet :(" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Sign Up",@"Donate",nil]; alert2.tag = donate_tag; [alert2 show]; [alert2 release]; } ... - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if(alertView.tag == donate_tag && buttonIndex == 1){ [[UIApplication shanetworkingApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]]; } else if(alertView.tag == donate_tag && buttonIndex == 2){ [[UIApplication shanetworkingApplication] openURL:[NSURL URLWithString:@"http://www.yahoo.com"]]; } } ... @end 

Necesita decirle a la alerta quién maneja las acciones de los botones, es decir, quién es el " delegate " de la vista de alerta.

Dado que todo lo relacionado con UIAlertView está dentro de su controller de vista " BlahBlah ", después de crear alert2, haga algo como esto:

 alert2.delegate = self; 

o declararlo en su instanciación de UIAlertView:

 UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Donate" message:@"Function doesn't work yet :(" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Sign Up",@"Donate",nil];