你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> UITableView中Cell重用機制導致內容出錯的解決方法

UITableView中Cell重用機制導致內容出錯的解決方法

編輯:IOS開發綜合

UITableView通過重用單元格來達到節省內存的目的:通過為每個單元格指定一個重用標識符(reuseIdentifier),即指定了單元格的種類,以及當單元格滾出屏幕時,允許恢復單元格以便重用.對於不同種類的單元格使用不同的ID,對於簡單的表格,一個標識符就夠了.

假如一個TableView中有10個單元格,但是屏幕上最多能顯示4個,那麼實際上iPhone只是為其分配了4個單元格的內存,沒有分配10個,當滾動單元格時,屏幕內顯示的單元格重復使用這4個內存。實際上分配的Cell個數為屏幕最大顯示數, 當有新的Cell進入屏幕時,會隨機調用已經滾出屏幕的Cell所占的內存,這就是Cell的重用。

對於多變的自定義cell,這種重用機制會導致內容出錯。為了解決這種出錯的,經過反復的google,終於找到一個適合的方法。就是把原來的

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:defineString];修改為:


UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

這樣就能解決掉cell重用機制導致的問題了。
 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved