uitableview通過重用單元格來達到節省記憶體的目的:通過為每個單元格指定乙個重用識別符號(reuseidentifier),即指定了單元格的種類,以及當單元格滾出螢幕時,允許恢復單元格以便重用.對於不同種類的單元格使用不同的id,對於簡單的**,乙個識別符號就夠了.
假如乙個tableview中有10個單元格,但是螢幕上最多能顯示4個,那麼實際上iphone只是為其分配了4個單元格的記憶體,沒有分配10個,當滾動單元格時,螢幕內顯示的單元格重複使用這4個記憶體。
如下**:
-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
***//dequeuereusablecellwithidentifier:方法查詢是否有可以重用的單元格,如果沒有則使用initwithstyle:reuseidentifier:方法構造器建立乙個可重用的單元格。***
nsuinteger row=[indexpath row];
nsdictionary *rowdict=[self
.listteams objectatindex:row];
cell.textlabel
.text=[rowdict objectforkey:@"name"];
nsstring *imagepath=[rowdict objectforkey:@"image"];
cell.imageview
.image=[uiimage imagenamed:imagepath];
cell.accessorytype=uitableviewcellaccessorydisclosureindicator;
return cell;
}
注:方法tableview:cellforrowatindexpath:是uitableviewdatasourse協議中必須實現的方法之一。 UITableView 顏色交替單元格。
本文簡單介紹如何 itableview如設定交替單元格顏色。uitableview每行的背景顏色在載入第乙個檢視候就被設定,所以如果我們要改變每行的背景顏色,首先載入填充單元格資料的時候清理單元格背景顏色,然後根據數量行的數量設定其背景顏色。在方法中 uitableviewcell tablevie...
swift中UITableView的使用
自定義cell import uikit class tableviewcell uitableviewcell 乙個類a如果有自己獨有的初始化方法,自定義類b的時候如果b繼承自a。此時就重寫a類獨有的初始化方法 override init style uitableviewcell.cellsty...
UITableView中的cell的優化
1.cell的重用 所謂的cell的重用就是,檢視載入的時候只會建立當前檢視中的cell,或者比當前檢視多一點的cell,當檢視滾動的時候,滾出螢幕的cell會放進快取中,滾進螢幕的cell會根據identifier從快取中獲取cell,如此的迴圈往復,這樣只會建立固定的cell物件,節省了記憶體。...