對於程式而言,記憶體控制是必不可少的。如果乙個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 中指定了 單元...