2
NSString * str1 = @"haha";
NSString * str2 = [str1 copy];
str1 = @"laa";
NSLog(@"str1的地址爲:%p", str1);
NSLog(@"str2的地址爲:%p", str2);
NSLog(@"str1的值爲:%@", str1);
NSLog(@"str2的值爲:%@", str2);
作爲上面的代碼,它們的內存地址是不同的。但如果我刪除第三行,他們的內存地址是相同的。你能告訴我原因嗎?我已經搜索了很長時間,謝謝爲什麼nstring obj的內存地址與iOS中的複製的地址不同?
已經給出了答案在這個環節。可能會幫助你.. https://stackoverflow.com/questions/7376261/are-nsstrings-stored-on-the-heap-or-on-the-stack-and-what-is-a-good-way-到initi –