2010-06-14 3 views
1

Je suis dans ma deuxième journée d'apprentissage de l'objectif C, Cocoa et IB. C'est probablement quelque chose de très simple mais je ne peux pas m'en sortir.La concaténation d'une chaîne avec la valeur d'un objet NSTextField entraîne des symboles impairs dans Objective-C

Fondamentalement, j'ai un formulaire avec un NSTextField, lorsque l'utilisateur tape dans ce champ et clique sur un bouton OK l'application affichera une alerte disant Bonjour suivi par la valeur du champ de texte.

Tout fonctionne indépendamment de la concaténation de chaînes. J'utilise le code suivant pour concaténer la chaîne « Bonjour » et la valeur NSTextField:

NSString *nameText = [NSString stringWithFormat:@"Hello %s", [nameTextField stringValue]];

Lorsque l'utilisateur clique sur le bouton OK affiche une alerte « Bonjour ‡ √Ÿp »!

Répondre

1

CAMSOFT,

Le NSString de Obj-C est un objet, corriger l'appel de format avec:

NSString *nameText = [NSString stringWithFormat:@"Hello %@",[nameTextField stringValue]]; 

Notez le % @ au lieu de % s.

Frank

+0

Bingo! Je vois, cela a du sens. Merci! – Camsoft

1

stringValue retours objet NSString et% s attend à ce que le paramètre c-string. Essayez d'utiliser% @ à la place:

NSString *nameText = [NSString stringWithFormat:@"Hello %@", [nameTextField stringValue]]; 
Questions connexes