2015-04-24 27 views
0

有一個UITableViewController和使用:使用dequeueReusableCellWithIdentifier時新的或現有的單元格:forIndexPath:?

override func tableView(tableView: UITableView, cellForRowAtIndexPath 
      indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! UITableViewCell 
    return cell 
} 

使用dequeueReusableCellWithIdentifier:forIndexPath:'' instead of dequeueReusableCellWithIdentifier``我怎麼能確定一個小區是一個新的或重用呢?

+0

你需要做什麼?你應該真的有一個自定義的單元格,並做任何它在那裏...... – Wain

+0

我想只設置一次像背景顏色的東西。 – confile

+0

通常,所有具有相同reUseIdentifier的表都會得到「ReUsed」 - 所以如果您想更改某些內容(例如背景顏色),可以覆蓋此設置(並將其設置爲所有其他行的標準值) - 但更好想法是用另一個ReUseIdentifier創建一個新的Row,並在這裏改變顏色。 我已經嘗試了很多(在1個表中至少有10個不同的佈局),最好的性能是如果你使用不同的reUseIdentifier創建另一個單元格。 – derdida

回答

1

創建您自己的自定義單元類以用於重用標識符。然後,在該單元格內執行awakeFromNib並對單元格進行更改。當您的單元格從其NIB文件加載時,這隻會被調用一次。

單元重新使用時需要做的任何其他更改可以在prepareForReuse中進行。

+0

你有一個例子,我會在''prepareForReuse''中做什麼? – confile

+1

並不經常使用,但如果在顯示單元格時加載圖像,則可以在此處將其刪除 – Wain

相關問題