12

我是一个来到Objective-C的Java人。在java中,要将变量添加到字符串中,您必须执行以下操作:

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

不过,我不知道如何在 Objective-C 中做到这一点。我有一个NSMutableString我想添加到字符串中间的。我该怎么做呢?

我试过了:

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

还有一些其他的东西,似乎都不起作用。+还将s与s互换,

4

4 回答 4

30

您可以使用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]];

ETC...

这些字符串是自动释放的,所以请注意不要失去它们的价值。如有必要,保留或复制它们,稍后自行发布。

于 2011-08-15T20:02:39.513 回答
8

试试这个:

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

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

//release when done
[string1 release];
于 2011-08-15T20:00:51.767 回答
6

你需要使用stringByAppendingString

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

当然,别忘了[string release];什么时候完成。

于 2011-08-15T20:01:33.477 回答
0
NSMutableString *string = [[NSMutableString alloc] init];

[string appendFormat:@"more text %@", object ];
于 2015-08-26T16:26:56.790 回答