2011-05-20 51 views
4

我添加NSInvocation到字典來執行我需要的一些命令,但我擔心NSInvocation會保留它獲得的參數,例如self,_cmd和我設置的參數。當我將NSInvocation添加到字典中時,字典將保留NSInvocation,並保留這些參數嗎?NSInvocation是否保留self,_cmd和分配的參數?

回答

6

NSInvocation確實,除非你把它的retainArguments消息,將設置argumentsRetainedYES保留目標,選擇或參數。

+0

根據[文檔](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSInvocation_Class/Reference/Reference.html#//apple_ref/occ/instm/NSInvocation/retainArguments),默認情況下它不保留目標:「爲了提高效率,新創建的NSInvocations不保留或複製它們的參數,也不保留它們的目標或複製C字符串。」 – Anomie 2011-05-20 04:27:07