我是一個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