2009-07-06 20 views
3

如果我將一些接口構建器對象與另一個對象綁定爲實例變量,是否需要在父對象的dealloc方法中釋放它們?重要的一點是,我在(非原子,保留)模式下使用鍵值編碼(@property)聲明我的IBOutlets。在我的理論中,IBOutlet對象是在我的視圖控制器的initWithNibName:...方法被調用時創建的,它由父對象保留,因爲我在保留模式下實現了@property方法。它是否正確?如果我在分配模式下實現該方法,怎麼辦?Objective-c要發佈的IBOutlet對象?

回答

2

絕對正確。你必須在dealloc,IBOutlet中釋放(保留)屬性。這種方式明確定義了IBOutlets的內存管理。

如果您從已保留的對象(例如,保留的視圖的子視圖)連接IBOutlets,還可以使用(assign)您的屬性(並且當然不會在dealloc中釋放它們)。