2010-12-14 69 views
1

J'ai construit un système assez complexe et il y a maintenant le moment où je veux un débogage plus concis. Je voudrais afficher le contenu d'une variable (pour cet exemple un NSString appelé v_string) dans une fenêtre de notification (le type de fenêtre qui apparaît lorsque vous recevez un texte SMS).iPhone: Utiliser des alertes pour aider au débogage

Existe-t-il un moyen facile de simplement appeler une alerte avec une variable?

Merci à l'avance,

Dan

Répondre

3

NSLog ne le fait pas? Dans le cas contraire (comme si vous avez besoin de déboguer une application en cours d'exécution sur un périphérique déconnecté), vous pouvez étendre la UIAlertView avec une catégorie:

@implementation UIAlertView (Logging) 

+ (void) log: (id <NSObject>) anObject 
{ 
    NSString *message = [anObject description]; 
    UIAlertView *alert = [[self alloc] initWith…]; 
    [alert show]; 
    [alert release]; 
} 

Et puis dans le code:

NSString *anInterestingString = …; 
[UIAlertView log:anInterestingString]; 
0

Lorsque vous construisez la Chaîne à afficher dans la fenêtre d'alerte, ajoutez simplement la représentation de chaîne de votre variable en utilisant stringByAppendingString.

0

La fenêtre d'alerte est encombrante. Utilisez NSLog à la place:

NSLog(@"Variable is: %@", v_string); 

Et dans la console de Xcode, vous verrez ce texte.

0
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"My Debug String" message:v_string delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
[message show]; 
[message release]; 

Je pense de cette façon que vous pouvez voir ce que vous voulez. Mais, comme vous l'avez dit, pourquoi ne pas utiliser NSLog (@ "my var:% @", v_string); ?

Espérons que cela aide.