作者JingXD (@O@)
看板MacDev
標題[問題] NSArray retaincount
時間Thu Mar 31 23:04:36 2011
請問板上的大大
小弟寫了以下的程式
NSArray * test = [[NSArray alloc]init];
NSLog(@"test retain count is %d ",[test retainCount]);
結果答案出來竟然是2 !!!!
實在是不知道該怎麼解釋這個現象
我是寫在main function 前後完全沒有碰到這個物件
不是應該是 1嗎?
還是說NSArray 有什麼特性?
我知道literal 的NSString 跟空NSString 是沒有retaincount的
所以是NSArray 有什麼特性嗎?
蘋果的doc 只有提到 有alloc 的有自己release 沒有的是丟到autorelease pool
不過NSArray 是......??
謝謝!!
(如有違反版規馬上刪@@)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.192
1F:推 markzog21:因為他是靜態陣列的關係吧 04/01 08:23
2F:推 popcorny:因為他是空的immutable array.. 所以會被大家share囉. 04/01 09:38
3F:→ popcorny:如果是mutable array就不會有這種情形發生了 04/01 09:38
4F:→ JingXD:瞭解了 謝謝!! 所以所有的靜態陣列(就算裡面有物件) 04/01 11:38
5F:→ JingXD:都沒有retain count 因為裡面的東西都不能動嗎? 04/01 11:38