[問題] 關於memory management的問題

看板MacDev作者 (等待.微笑)時間16年前 (2009/07/06 00:12), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
各位前輩大家好 最近開始研究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
文章代碼(AID): #1AKD3gbH (MacDev)
文章代碼(AID): #1AKD3gbH (MacDev)