2010-03-21 82 views
0

在我對設備和模擬器的測試中,dequeueReusableCellWithIdentifier:返回nil不止一次(對於15行的表格大約返回5次)。這是正常的嗎?我是在印象之下它應該返回零只有第一次?UITableView dequeueReusableCellWithIdentifier:返回nil不止一次

+0

我想你可能會誤解方法的目的。我不知道你爲什麼會在乎它返回nil多少次。 – 2010-03-21 02:54:57

回答

1

tableView和collectionView都有限制。如果您滾動速度夠快,或者該單元格上有很多元素(需要更長時間準備),iOS可能無法像cellForIndexPath被調用一樣快速地準備可重用單元格。

所以在tableView的情況下,dequeueReusableCellWithIdentifier:返回nil。 而在CollectionView dequeueReusableCellWithReuseIdentifier:forIndexPath:的情況下會爲您創建一個新對象。

3

UITableView類實現dequeueReusableCellWithIdentifier:的行爲。只要你在正確的地方(即在tableView:cellForRowAtIndexPath:之內)調用它,那麼你可以做的事情就是返回或不返回可重用的單元格。

除非我能證明特定行爲給我造成的崩潰或性能問題,否則這不是我擔心的事情。

2

表視圖處理使用飛重模式的單元格。如果您熟悉這一點,您將更好地掌握髮生的事情和原因。

相關問題