[問題] 關於memory management的問題
各位前輩大家好
最近開始研究objective-c
想寫跟iPhone有關的程式
在記憶體管理方面碰到了以下的問題
main.n的部分程式碼如下:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *str1 = @" string1!";
NSString *str2 = [NSString stringWithString: @" string2!"];
printf("str1 retain count: %x\n", [str1 retainCount]);
printf("str2 retain count: %x\n", [str2 retainCount]);
......
}
output:
str1 retain count:7fffffff
str2 retain count:7fffffff
我翻了書和網路上的文章
output為
str1 retain count:ffffffff
str2 retain count:1
想請問
stringWithString不是會自動把object放入autorelease pool裡面嗎?
那retain count的值不就應該是1?
為什麼我的結果跑出來不太對?
請問我的觀念是否有錯?
還是我的程式哪裡有盲點?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.210.169
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章