嘿,這是我一直想知道了一段時間,從來沒有真正想通了。如果我分配並初始化另一個類的實例變量/屬性(下面的例子),我是否負責釋放它?初始化另一個類的實例變量和內存管理
在富,我有酒吧(被稱爲巴)的實例,並希望初始化酒吧的變量之一,像這樣:
self.bar.variable1 = [[UIBarButtonItem alloc] initWithCustomView:customView];
嘿,這是我一直想知道了一段時間,從來沒有真正想通了。如果我分配並初始化另一個類的實例變量/屬性(下面的例子),我是否負責釋放它?初始化另一個類的實例變量和內存管理
在富,我有酒吧(被稱爲巴)的實例,並希望初始化酒吧的變量之一,像這樣:
self.bar.variable1 = [[UIBarButtonItem alloc] initWithCustomView:customView];
是的。除非你不在Bar類中釋放它,否則你必須釋放它。
通常,無論類是負責分配被認爲是對象的所有者的對象,因此,負責釋放的實例。該Memory Management Programming Guide給出了一個很好的描述,特別是在部分「對象的所有權和處置」
可能這會讓你更容易理解。
UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithCustomView:customView]
self.bar.variable1 = buttonItem;
[buttonItem release];