Concatenar cadena en cadena Objective-c

Quiero colocar una cadena dentro de una cadena. Básicamente en pseudo código:

"first part of string" + "(varying string)" + "third part of string" 

¿Cómo puedo hacer esto en el objective c? ¿Hay alguna forma de concatenar fácilmente en obj-c? ¡Gracias!

Hazlo

 NSString *str = [NSString stringWithFormat: @"first part %@ second part", varyingString]; 

Para la concatenación puede usar stringByAppendingString

 NSString *str = @"hello "; str = [str stringByAppendingString:@"world"]; //str is now "hello world" 

Para múltiples cadenas

 NSString *varyingString1 = @"hello"; NSString *varyingString2 = @"world"; NSString *str = [NSString stringWithFormat: @"%@ %@", varyingString1, varyingString2]; //str is now "hello world" 
 NSString * varyingString = ...; NSString * cat = [NSString stringWithFormat:@"%s%@%@", "first part of string", varyingString, @"third part of string"]; 

o simplemente -[NSString stringByAppendingString:]

Variaciones sobre un tema:

 NSString *varying = @"whatever it is"; NSString *final = [NSString stringWithFormat:@"first part %@ third part", varying]; 

 NSString *varying = @"whatever it is"; NSString *final = [[@"first part" stringByAppendingString:varying] stringByAppendingString:@"second part"]; 

 NSMutableString *final = [NSMutableString stringWithString:@"first part"]; [final appendFormat:@"%@ third part", varying]; 

 NSMutableString *final = [NSMutableString stringWithString:@"first part"]; [final appendString:varying]; [final appendString:@"third part"]; 

Normalmente usaría -stringWithFormat aquí.

 NSString *myString = [NSString stringWithFormat:@"%@%@%@", @"some text", stringVariable, @"some more text"]; 

Solo haz

 NSString* newString=[NSString stringWithFormat:@"first part of string (%@) third part of string", @"foo"]; 

Esto te da

 @"first part of string (foo) third part of string" 

simple:

 [[@"first" stringByAppendingString:@"second"] stringByAppendingString:@"third"]; 

si tiene muchas CUERDAS para concatenar, debe usar NSMutableString para un mejor performance

Me sorprendió que ninguna de las respuestas principales señalara que en las versiones de Objective-C recientes (después de que agregaron literales), puede concatenar como sigue:

 @"first" @"second" 

Y resultará en:

 @"firstsecond" 

No puede usarlo con objects NSString, solo con literales, pero puede ser útil en algunos casos.