2010-02-17 26 views
1

我有定製TableViewCell-S其中,我給你幾個UIImageView的-S和的UILabel-S爲單元格內容查看,就像這樣:iPhone:我必須(以及如何)釋放自定義表格視圖單元格的子視圖嗎?

[cell.contentView addSubview:iconFileView]; 
[iconFileView release]; 
[cell.contentView addSubview:areaLabel]; 
[areaLabel release]; 
[cell.contentView addSubview:placeLabel]; 
[placeLabel release]; 

據我瞭解自己通過的TableView保留,將被釋放的細胞與它一起。但是,我不明白我是否必須從contentview中刪除單元格的contentview子視圖才能發佈它們?

如果答案是肯定的,我該怎麼做呢?是否足以找到所有可見的單元格並從每個單元格中刪除它們的子視圖?

在Memory Management Guide for Cocoa中,都無法找到這個問題的確切答案。

謝謝!

回答

2

當單元格釋放contentView時,contentView將負責釋放其子視圖。基本上,當單元格的保留計數變爲零時,它會向contentView發送釋放消息。如果contentView的保留計數爲零,那麼它會發送釋放消息給它的所有子視圖,包括iconFileView等。只要你沒有向contentView或iconFileView等發送任何額外的保留消息,你應該沒問題。

如果您想感覺非常好,請在「儀器泄漏」下運行您的程序。確保你做了任何需要做的事情來使UITableViewCells被釋放。

相關問題