1
你好, 我有以下代碼:
NSNumber *number = [NSNumber numberWithInt:5];
int i = [number retainCount];
[number release];
i = [number retainCount];
[number release];
i = [number retainCount];
的問題是,在第2行,參數i的值是2 ,而第4行的值是1. 然後在第6行的值仍然是1。
首先,我不明白爲什麼在init *號後retaincount是2而不是1? 秒我不明白爲什麼發佈後2次retaincount不是0? 它不事關我釋放了多少次的對象retaincount留1
首先感謝您的幫助。 我不明白爲什麼我不是自己的那個對象(我創建它!) 有沒有對象,我創建並沒有需要釋放?像死亡的函數結束的對象? 我怎麼知道我創建的對象是否是初始化的autorelease? 謝謝 – amir 2010-06-06 21:07:43
閱讀http://developer.apple.com/mac/library/iPad/index.html#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html – kubi 2010-06-07 00:28:01
一般來說,除非你使用'alloc','copy'或'新'來創建一個對象,你不擁有它。 – kubi 2010-06-07 00:30:43