Добавить строку с переменной - PullRequest
12 голосов
/ 15 августа 2011

Я парень из Java, приезжающий в Objective-C.В Java, чтобы добавить переменную к строке, вам нужно будет сделать что-то вроде:

someString = "This string is equal to " + someNumber + ".";

Я не могу понять, как это сделать в Objective-C.У меня есть NSMutableString, который я хотел бы добавить к середине строки.Как мне это сделать?

Я пробовал:

NSString *someText = @"Lorem ipsum " + someMutableString;
NSString *someText = @"Lorem ipsum " + [someMutableString stringForm];

и несколько других вещей, которые, похоже, не работают.Также поменял + с , с.

Ответы [ 4 ]

29 голосов
/ 16 августа 2011

Вы можете использовать appendString:, но в целом я предпочитаю:

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];

или, альтернативно:

NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %d.", [someNSNumber intValue]];

и т. Д.

Этистроки автоматически высвобождаются, поэтому будьте осторожны, чтобы не потерять свою ценность.При необходимости сохраните или скопируйте их, а потом отпустите сами.

9 голосов
/ 16 августа 2011

Попробуйте это:

NSMutableString * string1 = [[NSMutableString alloc] initWithString:@"this is my string"];

[string1 appendString:@" with more strings attached"];

//release when done
[string1 release];
6 голосов
/ 16 августа 2011

Вам нужно использовать stringByAppendingString

NSString* string = [[NSString alloc] initWithString:@"some string"];
string = [string stringByAppendingString:@" Sweet!"];

Не забудьте [string release];, когда вы закончите, конечно.

0 голосов
/ 26 августа 2015
NSMutableString *string = [[NSMutableString alloc] init];

[string appendFormat:@"more text %@", object ];
...