當單元格首次變爲可見時,將使用init方法。 當單元格第一次變得不可見時,它將從表格視圖的內存中出列。UITableView刪除所有可重用單元格
UITableViewCell *cell = [searchTable dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier];
}
return cell;
可以說我滾動了整個表格,現在任何單元格都可以出列,因爲它們都已經被初始化了。
我的當前單元格的標識符從0到199.我刷新了我的表格視圖,現在我有了單元格的新信息。我使用的方法reloadData
和使用標識爲200〜399爲新的細胞中加入+200
細胞識別:
NSInteger index = indexPath.row + 200;
NSString *CellIdentifier = [NSString stringWithFormat:@"%d",index];
現在我滾動整個表,看到細胞200到399
讓我們來想象我改變index
回:
NSInteger index = indexPath.row;
現在一個問題:老小區,從0到199的標識符仍然可以離隊,他們不能?
如果答案是They CAN be dequeued
我還有一個問題:
有沒有一種方法,當我開始使用細胞隨着從200到399的標識符,以刪除與從0到199,從表視圖內存標識符細胞?
你能解釋一下你如何獲得200個新細胞?請通過此鏈接https://discussions.apple.com/thread/2760904?start=0&tstart=0。如果您使用dequeueReusableCellWithIdentifier,您一次只能在內存中看到可見的單元格。其餘的單元格會自動從內存中移除。刷新時,它只會重複使用相同的單元格,並且只有單元格內的數據會發生變化。它永遠不會像200,400和所有。它將被理想地限制爲可視單元的數量,可以說是10. – iDev
我已經在單元格中更正了一個錯誤= [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:Cellidentifier];請檢查答案。 – iDev