Добавить строку с переменной
Я парень из 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 ];