2011-01-11 36 views
1

我們不分配基於nib的視圖,所以在我們從bundle中獲取視圖時,似乎沒有必要釋放它們。我有一個場景,其中有由nib製作的自定義單元格。當我釋放時tableview包含UITableView單元格的單元格對象留在內存中。我沒有保留它在任何其他地方。我將不勝感激任何答案謝謝什麼時候從筆尖發佈自定義單元格

+0

這些單元格被放入一個隊列以供重用。您應該首先嚐試調用您的tableViews DequeueReusableCell - 爲特定的單元格類型使用特定的名稱。 – Axel 2011-01-11 09:32:26

回答

1

當你從包中獲取對象時,它將它分配給一個IBOutlet實例變量。你需要以通常的方式釋放dealloc中的實例。這是我怎麼做的,

in - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    //get a new cell instance from the xib 
    [[NSBundle mainBundle] loadNibNamed:@"ASEventTableViewCell" owner:self options:nil]; 
    //get the object from the outlet 
    cell = [self eventsTableViewCell]; 

The in viewDidUnload, 
self.eventsTableViewCell=nil; 

And dealloc 
[eventsTableViewCell release]; 
+0

我不認爲我們需要釋放它,如果沒有保留實例變量的屬性。在我的情況下,這會導致崩潰,因爲邏輯上我想釋放一些autorelease對象。但是如果我不autorelease池似乎忘記如果一些東西被添加到它。通常感謝答覆 – 2011-01-11 09:55:35

相關問題