2009-03-22 10 views
3

J'ai trois objets chaîne:Comment ajouter un espace entre deux NSStrings concaténées?

NSString *firstName; 
NSString *lastName; 
NSString *fullName; 

Les valeurs de firstName et lastName sont reçus de NSTextFields.

Je veux alors concaténer les deux chaînes et placez le résultat dans fullname.

Voici le code que j'utilise:

fullName = [firstName stringByAppendingString:lastName]; 

Cependant, le résultat ne met pas un espace entre la deux noms (par exemple JohnSmith).

Comment ajouter dans l'espace? Je voudrais que le résultat ressemble (John Smith).

Répondre

8

La façon la plus simple est la suivante:

fullname = [[firstName stringByAppendingString:@" "] stringByAppendingString:lastName]; 

à savoir l'espace append, puis ajouter le lastName.

0

C'est normal. Vous devrez ajouter l'espace vous-même.

(NSString*) description { return [[[NSString alloc] 
          initWithFormat:" %@ %@”, 
          firstname, 
          lastname] autorelease]; } 
3
fullName = [@[firstName, lastName] 
      componentsJoinedByString:@" "]; 
14

Je suis surpris par la longueur des autres réponses:

fullname = [NSString stringWithFormat:@"%@ %@", firstname, lastname]; 
+0

l'analyse d'un spécificateur de format nécessite plus de travail qu'une chaîne trivial concaténation. – Alnitak