cell重用機制

2021-07-12 00:11:56 字數 622 閱讀 6565

對於程式而言,記憶體控制是必不可少的。如果乙個tableview中有1000個cell,乙個個建立的話會消耗很大的記憶體,很容易出現記憶體報警,cell的重用機制就是為了節省記憶體的一種機制。

只建立螢幕能顯示的最大個數的cell,然後重複使用這些cell,對cell進行單獨的顯示分配,這樣既不影響顯示效果又節省了記憶體消耗。

tableview載入的時候,cell佇列裡沒有任何資料。

dequeuereusablecellwithidentifier:返回值為nil。

就要通過

cell = [[

uitableviewcell

alloc

]initwithstyle

:uitableviewcellstyledefault

reuseidentifier

:@".."

];來建立對應identifier

標識的cell。

當tableview滾動導致cell公出螢幕時,程式就會將滾出螢幕的cell放入cell重用佇列中,新的cell將要顯示在螢幕上的時候,就會從重用佇列中查詢有沒有結構相同的cell,如果有,更改資料內容,顯示在螢幕上,如果沒有,新建cell。

cell重用機制能夠實現cell和資料完全分離。

cell重用機制

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

cell的重用機制

ios開發ui篇 uitableviewcell的效能問題 一 uitableviewcell的一些介紹 uitableview的每一行都是乙個uitableviewcell,通過datasource的 tableview cellforrowatindexpath 方法來初始化每 行 uitabl...

iOS tableView可重用cell的兩個方法

dequeuereusablecellwithidentifier dequeuereusablecellwithidentifier forindexpath 這兩個方法的區別總結下。storyboard自定義cell 如果使用 storyboard 並且,在 storyboard 中指定了 單元...