Je suis un gars de Java qui vient à Objective-C. En Java, pour ajouter une variable à une chaîne, vous devez faire quelque chose comme:
someString = "This string is equal to " + someNumber + ".";
Je n'arrive pas à comprendre comment le faire en Objective-C. J'ai une NSMutableString
que j'aimerais ajouter au milieu d'une chaîne. Comment puis-je faire cela?
J'ai essayé:
NSString *someText = @"Lorem ipsum " + someMutableString;
NSString *someText = @"Lorem ipsum " + [someMutableString stringForm];
et quelques autres choses, dont aucune ne semble fonctionner. Échangez également le +
s avec le ,
s.
Vous pouvez utiliser appendString:
, mais en général, je préfère:
NSString *someText = [NSString stringWithFormat: @"Lorem ipsum %@", someMutableString];
NSString *someString = [NSString stringWithFormat: @"This is string is equal to %d.", someInt];
NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %@.", someNSNumber];
ou bien:
NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %d.", [someNSNumber intValue]];
etc...
Ces chaînes sont autoreleased, veillez donc à ne pas perdre leur valeur. Si nécessaire, conservez-les ou copiez-les et libérez-les vous-même plus tard.
Essaye ça:
NSMutableString * string1 = [[NSMutableString alloc] initWithString:@"this is my string"];
[string1 appendString:@" with more strings attached"];
//release when done
[string1 release];
Vous devez utiliser stringByAppendingString
NSString* string = [[NSString alloc] initWithString:@"some string"];
string = [string stringByAppendingString:@" Sweet!"];
N'oubliez pas de [string release];
lorsque vous avez terminé, bien sûr.
NSMutableString *string = [[NSMutableString alloc] init];
[string appendFormat:@"more text %@", object ];