2009-02-26 23 views

Respuesta

40
NSString *string = [NSString stringWithFormat:@"%@%@", @"Hello", @"World"]; 
NSLog(@"%@", string); 

Eso debería ser el truco, aunque estoy seguro de que hay una mejor manera de hacerlo, simplemente sin memoria. También debo decir que esto es no probado así que discúlpeme. Lo mejor es encontrar la documentación stringWithFormat para NSString.

+0

Usted es jus Te faltan @s en las cadenas Hello y World, de lo contrario, esto debería funcionar bien. También hay un mensaje stringByAppendingString en NSString. – zoul

+0

Esto es exactamente lo que hago, pero como dijo zoul, prefijo las cadenas con @ (es decir, @ "hola") –

+0

Sí, NSString * string = [NSString stringWithFormat: @ "% @% @", @ "Hello", @ "Mundo"]; también es correcto –

28

¿Qué tal:

NSString *hello = @"Hello"; 
NSString *world = @"World"; 
NSString *helloWorld = [hello stringByAppendingString:world]; 
10

Si tiene dos cadenas literales, puede simplemente código:

NSString * myString = @"Hello" @"World"; 

Ésta es una técnica útil para romper las cadenas literales a largo plazo de su código.

Sin embargo, esto no funcionará con las variables de cadena, donde le gustaría usar stringWithFormat: o stringByAppendingString :, como se menciona en las otras respuestas.

5

siempre ha NSMutableString ..

NSMutableString *myString = [NSMutableString stringWithString:@"Hello"]; 
[myString appendString: @"World"]; 

Nota:

NSMutableString *myString = @"Hello"; // won't work, literal strings aren't mutable 
+1

No puede crear una cadena mutable asignando una cadena literal directamente a la variable. Debe hacer 'NSMutableString * myString = [NSMutableString stringWithString: @" Hello "];' para crear la cadena mutable. –

1

Bill, me gusta YOUT solución simple y me gustaría tener en cuenta que también se puede eliminar el espacio entre las dos NSStrings :

NSString * myString = @"Hello"@"World"; 
3
t3.text=[t1.text stringByAppendingString:t2.text]; 
Cuestiones relacionadas