如果我們寫下面的代碼:Objective-C的代表指針
ExplorerAppDelegate * appDelegate = (ExplorerAppDelegate *)[[UIApplication sharedApplication] delegate];
這使得原來的委託指針引用,但:
- 是否增加引用計數?
- 我們是否必須在完成之後或根本不需要明確呼叫
[ExplorerAppDelegate retain]
? - 究竟發生了什麼?
在我們使用這個之後,我們也應該在dealloc方法中做一個[ExplorerAppDelegate release]
,對吧?
謝謝您的回答.. :) – user145374 2009-07-27 01:49:13
這一切都是有效的,並且完全正確。但是...因爲應用程序委託是在應用程序啓動時創建的,並且從未發佈(至少不會被終止),所以您可以簡單地保留引用,而不是保留引用,並且完全忽略該問題。在這種情況下,您知道引用將在應用程序的整個生命週期內保持有效。 – 2009-07-27 02:51:55