2009-03-22 16 views
3

Ich habe drei String-Objekte:Wie füge ich ein Leerzeichen zwischen zwei verketteten NSStrings hinzu?

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

Die Werte für firstName und lastName aus NSTextFields erhalten.

Ich möchte dann die beiden Strings verketten und das Ergebnis in fullname.

Dies ist der Code, den ich verwende:

fullName = [firstName stringByAppendingString:lastName]; 

Allerdings ist das Ergebnis kein Leerzeichen zwischen den setzen zwei Namen (zB JohnSmith).

Wie füge ich den Raum hinzu? Ich möchte, dass das Ergebnis aussieht (John Smith).

Antwort

8

Der einfachste Weg ist dies:

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

das heißt den Raum anhängen und dann die nachName anhängen.

0

Das ist normal. Sie müssen den Speicherplatz selbst hinzufügen.

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

Ich bin erstaunt, durch die Länge der anderen Antworten:

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

Parsen ein Formatbezeichner mehr Arbeit als eine triviale String concatentation erfordert. – Alnitak

Verwandte Themen