我是一个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交换。
你的内存管理混乱了。这是由'alloc'创建的原始字符串,您需要释放,但是您将其丢弃(泄漏它)并将其替换为'stringByAppendingString:'的结果,该结果不应释放。 – Chuck
我意识到我可能会被这里的内存管理所困惑,但是不是我的第二条语句指向同一块内存,我只是将值重新分配给现有值加上附加的字符串? – Trevor
不,它是两个不同的存储位置的两个不同的对象。普通NSString不能改变它们的值,所以'stringByAppendingString:'返回一个新的字符串,其原始字符串的值加上附加值。 – Chuck