2011-04-07 3 views
0

Je suis très nouveau à la programmation iPhone Objective-C. Je vais aller avec la méthode d'essai et d'erreur sur celui-ci: P. Ma question concerne donc l'obtention d'un nom. Voici mon code:Aide avec HelloWorld Objective-C

-(IBAction)sayHello:(id)sender{ 
NSString *name = [textField text]; 
label.text = [NSString stringWithFormat:@"Hello ", name]; 

Ce que cela fait est d'obtenir le texte d'un UITextField (je l'ai déjà cette configuration) et les sorties à un UILabel. Je pense que cela fonctionnerait, mais apparemment pas, parce qu'il sort juste "Bonjour". Manquant le nom. L'aide serait appréciée :)

Merci,

Eric

EDIT: Merci à tous ceux qui ont répondu. Ça a marché! :)

Répondre

1

Il faut lire:

label.text = [NSString stringWithFormat:@"Hello %@", name]; 

stringWithFormat utilise des séquences "%" pour insérer des valeurs dans la chaîne, il est la construction. Vous utilisez différentes "%" séquences selon le type de valeur que vous insérez: "% @" est pour les objets Objective-C, "% d" est pour les entiers, et ainsi de suite. Vous pouvez insérer plusieurs valeurs en utilisant plusieurs séquences « % », par exemple:

label.text = [NSString stringWithFormat:@"Hello %@ %@ and your %d friends", firstName, lastName, 7]; 
1

Essayez ceci:

[NSString stringWithFormat:@"Hello %@", name]; 
1
-(IBAction)sayHello:(id)sender{ 
    NSString *name = [textField text]; 
    label.text = [NSString stringWithFormat:@"Hello %@", name]; 
} 

Vous devez ajouter %@, afin qu'il placera votre chaîne de nom dans la chaîne formatée.

1

Vous avez besoin d'un spécificateur de format:

label.text = [NSString stringWithFormat:@"Hello %@", name]; 

Le% signifie "une référence NSObject" spécificateur de format @. Pour formater d'autres types de données - int, double, etc., vous devez utiliser% d,% f et ainsi de suite.