tableVIew重用機制

2021-06-25 21:50:05 字數 1883 閱讀 5526

檢視

uitableview

標頭檔案,會找到

nsmutablearray* visiablecells

,和nsmutabledictnery* reusabletablecells

兩個結構。

visiablecells

內儲存當前顯示的

cells

,reusabletablecells

儲存可重用的

cells。

tableview

顯示之初,

reusabletablecells

為空,那麼

tableviewdequeuereusablecellwithidentifier:cellidentifier

返回 nil

。開始的

cell

都是通過

[[uitableviewcell alloc] initwithstyle:uitableviewcellstyledefaultreuseidentifier:cellidentifier]

來建立,而且

cellforrowatindexpath

只是呼叫最大顯示

cell

數的次數。

比如:有

100

條資料,

iphone

一屏最多顯示

10 個

cell

。程式最開始顯示

tableview

的情況是:

1. 用[[uitableviewcell alloc] initwithstyle:uitableviewcellstyledefaultreuseidentifier:cellidentifier]

建立 10

次 cell

,並給

cell

指定同樣的重用標識

(當然,可以為不同顯示型別的

cell

指定不同的標識

)。並且

10 個

cell

全部都加入到

visiablecells

陣列,reusabletablecells

為空。

2. 向下拖動

tableview

,當 cell1

完全移出螢幕,並且

cell11(

它也是

alloc

出來的,原因同上

)完全顯示出來的時候。

cell11

加入到

visiablecells

,cell1

移出 visiablecells

,cell1

加入到

reusabletablecells。

3. 接著向下拖動

tableview

,因為

reusabletablecells

中已經有值,所以,當需要顯示新的

cell

,cellforrowatindexpath

再次被呼叫的時候,

tableviewdequeuereusablecellwithidentifier:cellidentifier

,返回

cell1

。cell1

加入到

visiablecells

,cell1

移出 reusabletablecells

;cell2

移出 visiablecells

,cell2

加入到reusabletablecells

。之後再需要顯示的

cell

就可以正常重用了。 

tableView的重用機制

tableview的重用機制?檢視uitableview標頭檔案,會找到nsmutablearray visiablecells,和nsmutabledictnery reusabletablecells兩個結構。visiablecells內儲存當前顯示的cells,reusabletablecel...

iOS UItableview重用機制

重用機制的定義就是乙個節省記憶體的機制,當我們的tableview有100或更多資料是如果沒有重用機制那樣會把記憶體很快佔滿 尤其使大多數我們在cell上面放上,是乙個很佔記憶體的東西 所以我們需要重用機制來解決,重用機制就是在我們螢幕的可顯示範圍內建立cell 其餘的復用這些cell,以我個人的理...

cell重用機制

i ios 裝置的記憶體有限,如果用 uitableview 顯示成千上萬條資料,就需要成千上萬個 uitableviewcell 物件的話,那將會耗盡 ios裝置的記憶體。要解決該問題,需要重用 uitableviewcell物件 n重用原理 當滾動列表時,部分 uitableviewcell 會...