uitabelview一般會顯示大量資料,如果有多少條資料就新建多少個cell,那麼對於記憶體來說是種極大的負擔,這樣自然是不合理的,所以才會有重用機制
比如乙個家庭辦酒席,一共有13桌,每桌20個菜,那麼準備150個左右的盤子就夠盛菜了,如果盤子不夠用了就把之前已經吃光菜的盤子收走洗洗乾淨就能重複使用了,這大致上就是重用機制的展示了
下圖顯示的cell一共有6個
當把顯示金毛的這個cell滾出螢幕外了,這個cell就會被自動放進重用池中。當哈士奇下面乙個的cell出現的時候,就會自動去重用池中找乙個cell使用,這樣就避免了不停去建立cell導致記憶體崩潰的問題
下面是**舉例:
//設定每行顯示什麼內容,也就是指定每一行的cell
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
//指定cell內部空間的顯示內容
//重用池中取出的cell,並沒有釋放,所以會保留原有的內容,如果想要顯示自己的資訊,需要對cell內部的控制項進行重新賦值
= @"你是朱珍潔嗎";
= @"你才是豬";
計算UITableViewCell高度
uitableview是先執行 cgfloat tableview uitableview tableview heightforrowatindexpath nsindexpath indexpath函式計算整個uitableview內容高度,然後才執行 uitableviewcell table...
UITableViewCell重用問題
在寫sina 微博介面的過程中使用到了cell,那麼就是在cell上新增一些控制項,但是由於每條微博的內容都是不同的,所以在顯示的過程中,出現了內容重疊的問題,其實就是uitableviewcell重用機制的問題。cpp view plain copy uitableviewcell tablevi...
UITableViewCell重用機制
uitableview是ios開發中使用頻率非常高的乙個控制項,它常被用來展示資訊列表,儘管資訊資料可能非常多,但uitableview消耗的資源卻並不會隨著展示資訊的增多而變大,這都要得益於uitableviewcell的重用機制,重用機制 顧名思義,就是反覆利用資源的機制。以下通過一些 來看下通...