Existe-t-il une fonction polyvalente dans Objective-C que je peux connecter à mon projet pour simplifier la concaténation NSString
s et int
s?Le moyen le plus simple de concaténer NSString et int
Répondre
Les deux réponses sont correctes. Si vous souhaitez concaténer plusieurs chaînes et entiers, utilisez appendFormat 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];
[NSString stringWithFormat:@"THIS IS A STRING WITH AN INT: %d", myInt];
C'est typiquement comme ça que je le fais.
Regardez également dans localizedStringWithFormat: et initWithFormat: locale: lors du formatage d'un nombre à utiliser à l'écran. –
NSString *s =
[
[NSString alloc]
initWithFormat:@"Concatenate an int %d with a string %@",
12, @"My Concatenated String"
];
Je sais que vous recherchez probablement une réponse plus courte, mais c'est ce que j'utiliserais.
Est-ce la même chose que [NSString stringWithFormat:]? – PlagueHammer
Avec cette méthode, vous devrez libérer la chaîne lorsque vous avez terminé. –
@Debajit, c'est fondamentalement pareil. Vous devrez libérer la chaîne après l'avoir utilisée. –
chaîne1, x, elles sont respectivement déclarées en tant qu'objet chaîne et en tant que variable entière. et si vous souhaitez combiner les deux valeurs et ajouter des valeurs int à un objet chaîne et affecter le résultat à une nouvelle chaîne, procédez comme suit.
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 ;
Il semble que la vraie réponse est non - il n'y a pas moyen facile et court pour concaténer NSStrings avec Objective C - rien de semblable à l'aide de l'opérateur « + » en C# et Java.
J'utilise quelque chose comme ça pour la concaténation de chaînes mais cela me donne un avertissement: "La déclaration locale de 'aString' cache la variable d'instance" .Qu'est-ce qui pourrait générer cette erreur? – Hari
Un signe égal n'est-il pas manquant après aString? – VagueExplanation