2009-04-01 14 views

Respuesta

26

Ambas respuestas son correctas. Si desea concatenar varias cadenas y números enteros, use el archivo apendFormat de NSMutableString.

NSMutableString* aString = [NSMutableString stringWithFormat:@"String with one int %d", myInt]; // does not need to be released. Needs to be retained if you need to keep use it after the current function. 
[aString appendFormat:@"... now has another int: %d", myInt]; 
+0

Estoy usando algo así para la concatenación de cadenas, pero me da una advertencia: "La declaración local de 'aString' oculta la variable de instancia". ¿Qué podría estar generando este error? – Hari

+1

¿No falta un signo igual después de aString? – VagueExplanation

30
[NSString stringWithFormat:@"THIS IS A STRING WITH AN INT: %d", myInt]; 

Así es como lo hago.

+1

Consulte también localizedStringWithFormat: y initWithFormat: locale: al formatear un número para usar en la pantalla. –

3
NSString *s = 
    [ 
     [NSString alloc] 
      initWithFormat:@"Concatenate an int %d with a string %@", 
      12, @"My Concatenated String" 
    ]; 

Sé que probablemente esté buscando una respuesta más corta, pero esto es lo que usaría.

+0

¿Es esto lo mismo que [NSString stringWithFormat:]? – PlagueHammer

+0

Con este método, deberá liberar la cadena cuando haya terminado con ella. –

+0

@Debajit, es básicamente lo mismo. Tendrás que soltar la cadena después de usarla. –

3

cadena1, x, estos se declaran como un objeto de cadena y una variable entera, respectivamente. y si desea combinar ambos valores y anexar valores int a un objeto de cadena y asignar el resultado a una nueva cadena, haga lo siguiente.

NSString *[email protected]"Hello"; 

int x=10; 

NSString *string2=[string1 stringByAppendingFormat:@"%d ",x]; 

NSLog(@"string2 is %@",string2); 


//NSLog(@"string2 is %@",string2); is used to check the string2 value at console ; 
-1

Parece que la verdadera respuesta es no - no hay manera fácil y corto para concatenar NSStrings con el objetivo C - nada parecido a utilizar el operador '+' en C# y Java.

Cuestiones relacionadas