2011-01-29 12 views
0

J'ai un problème avec UIAlertView que je ne comprends pas. Je ne peux pas le faire fonctionner. J'ai changé le code pendant le test, donc UIAlertView devrait frapper directement en appuyant sur le bouton. J'ai testé avec breakpoint/debugger et ce qui se passe quand j'appuie sur le bouton est que la première ligne à laquelle il s'arrête est "otherButtonTitles: nil];".Impossible de faire fonctionner UIAlertView

J'ai testé le morceau de code dans une autre partie de l'application et cela a fonctionné.

Je n'ai aucune idée de ce que je fais mal.

- (IBAction)startNewGame_Button:(id)sender { 

    UIAlertView *noPlayersAlert = [[UIAlertView alloc] initWithTitle:@"VARNING" 
                  message:@"Ingen spelare är vald!\n \n Välj spelare och försök igen!" 
                  delegate:nil 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:nil]; 
    [noPlayersAlert show]; 
    [noPlayersAlert release]; 

    ... 
} 

============== MISE À JOUR =====================

Quand je copie ce code à un autre bouton ça marche ??

Ici, il est dans une ligne, testé que, avec le même résultat:

UIAlertView *noPlayersAlert = [[UIAlertView alloc] initWithTitle:@"VARNING" message:@"Ingen spelare är vald!\n \n Välj spelare och försök igen!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

MISE À JOUR ============== # 2 ======== ==========

Problème résolu, même si je ne comprends pas la raison, comme j'ai enlevé un "exit (0)" j'avais loin au-dessous du UIAlertView pendant le test.

Merci à tous ceux qui ont répondu :)

+0

Définir le délégué auto. erreur vous montre toute la ligne du code incorrect. vous pouvez écrire le code ci-dessus (implémentation de uialertview) en une ligne – 0xDE4E15B

Répondre

0

Pourquoi avez-vous pas encore défini le délégué à l'auto? Comment connaissez-vous la ligne s'arrête à otherButtonTitles:nil? S'il y a un journal de plantage, affichez les résultats.

+0

J'ai fait un test avec un point d'arrêt et j'ai avancé chaque ligne pour voir où elle a sauté. – PeterK

+0

Laisser le code parcourir et voir ce que dit le journal des pannes, ou afficher ce que vous avez comme rapport. – WrightsCS

+0

WrightsCS, vous n'avez besoin du délégué que si vous voulez répondre à l'interaction, et otherButtonTitles peut aussi être nul. Comme vous l'avez dit, nous allons avoir besoin d'un journal de bord pour aller n'importe où avec ça. –

0

Vous devez définir une valeur de délégation, car elle doit appeler dissWith, méthode de délégation du alertView. Donc, veuillez définir:

delegate: self 
+0

C'est l'iPhone donc, attendez-vous à l'inattendu, Construire -> Nettoyer puis Construire -> Nettoyer toutes les cibles, puis vérifier si cela ne fonctionne pas là où il fonctionne actuellement, si simple jeu de délégué autre que néant –

Questions connexes