2011-06-06 48 views
0

嘿,這是我一直想知道了一段時間,從來沒有真正想通了。如果我分配並初始化另一個類的實例變量/屬性(下面的例子),我是否負責釋放它?初始化另一個類的實例變量和內存管理

在富,我有酒吧(被稱爲巴)的實例,並希望初始化酒吧的變量之一,像這樣:

self.bar.variable1 = [[UIBarButtonItem alloc] initWithCustomView:customView]; 

回答

0

是的。除非你不在Bar類中釋放它,否則你必須釋放它。

1

通常,無論類是負責分配被認爲是對象的所有者的對象,因此,負責釋放的實例。該Memory Management Programming Guide給出了一個很好的描述,特別是在部分「對象的所有權和處置」

1

可能這會讓你更容易理解。

UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithCustomView:customView] 
self.bar.variable1 = buttonItem; 
[buttonItem release];