Добавить строку с переменной

Я парень из 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];

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

Ответ 1

Вы можете использовать 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]];

и т.д.

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

Ответ 2

Попробуйте следующее:

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

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

//release when done
[string1 release];

Ответ 3

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

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

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

Ответ 4

NSMutableString *string = [[NSMutableString alloc] init];

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