2010-04-28 72 views
1

official documentation告訴我,我已經爲了管理我的記憶的「筆尖對象」正確地做這些三件事情。iPhone:使用Interface Builder自定義UITableViewCell - >如何釋放單元格對象?

@property (nonatomic, retain) IBOutlet UIUserInterfaceElementClass *anOutlet; 

「你應該那麼無論合成相應的存取方法,或者根據聲明實現它們,並(在iPhone OS)在dealloc中釋放相應的變量。」

- (void)viewDidUnload { 
    self.anOutlet = nil; 
    [super viewDidUnload]; 
} 

有道理用於正常視圖。然而,我怎樣才能做到這一點與自定義UITableViewCells通過.nib文件加載UITableView?

那裏IBOutlets在MyCustomCell.h(自定義UITableViewCell繼承),但是這是不是我加載筆尖,並將其應用到單元實例的地方,因爲在MyTableView.m

發生

所以做我還是釋放MyCustomCell.m的deallocIBOutlets或做我必須做的MyTableView.m什麼?

另外MyCustomCell.m沒有- (void)viewDidUnload {},我可以將IBOutlets設置爲零,而我的MyTableView.m可以。

回答

2

是你的IBOutlets細胞的特性?如果是這樣,然後在MyCustomCell的dealloc方法中釋放它們。

確保你正在跟蹤tableViews的指導方針,並呼籲dequeueReusableCellWithIdentifier:在實現代碼如下:cellForRowAtIndex。 tableView將在您不再需要它們時釋放您的自定義單元格。假設你沒有任何其他的對你的單元格的引用(你不應該這麼做),那麼dealloc將被調用tableView的出列單元格。

+0

謝謝您的回答。這幾乎是我所做的。我唯一遺漏的部分是我設置IBOutlet = nil的部分,這是在我的自定義UITableViewCell中沒有的(void)viewDidUnload {}中描述的文檔中描述的。 – znq 2010-04-29 08:06:02

+0

可以使用 「[對象釋放],對象=零;」 – falconcreek 2010-04-29 11:45:52

相關問題