cell的復用解決方案

2021-10-11 19:14:30 字數 1525 閱讀 9551

方案一

取消cell的重用機制,通過indexpath來建立cell 將可以解決重複顯示問題 

// 方案一  通過不讓他重用cell 來解決重複顯示

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

// 對cell 進行簡單地資料配置

cell.textlabel.text = @"text";

cell.detailtextlabel.text = @"text";

cell.imageview.image = [uiimage imagenamed:@"4.png"];

return cell;

}

方案二

讓每個cell都擁有乙個對應的標識 這樣做也會讓cell無法重用 所以也就不會是重複顯示了 

// 方案二  同樣通過不讓他重用cell 來解決重複顯示 不同的是每個cell對應乙個標識

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

// 對cell 進行簡單地資料配置

cell.textlabel.text = @"text";

cell.detailtextlabel.text = @"text";

cell.imageview.image = [uiimage imagenamed:@"4.png"];

return cell;

}

方案三

只要最後乙個顯示的cell內容不為空,然後把它的子檢視全部刪除,等同於把這個cell單獨出來了 然後跟新資料就可以解決重複顯示

// 方案三  當頁面拉動需要顯示新資料的時候,把最後乙個cell進行刪除 就有可以自定義cell 此方案即可避免重複顯示,又重用了cell相對記憶體管理來說是最好的方案 前兩者相對比較消耗記憶體

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

else//當頁面拉動的時候 當cell存在並且最後乙個存在 把它進行刪除就出來乙個獨特的cell我們在進行資料配置即可避免

}// 對cell 進行簡單地資料配置

cell.textlabel.text = @"text";

cell.detailtextlabel.text = @"text";

cell.imageview.image = [uiimage imagenamed:@"4.png"];

return cell;

}

自定義cell復用出現資料錯亂可以呼叫

-(void)prepareforreuse

PWM與UART復用衝突的解決方案

本小白在做步進電機配置的時候,由於當時設計硬體欠缺考慮,故將 pwm 與 串列埠通訊 配置在了一起,導致之後在編寫操作指令的時候遇到了比較大的問題,以至於專案推遲。曾瀏覽csdn等各大電子論壇,本人眼拙,沒看到明確的解決辦法 不過在跟老大請教和與萌萌同學聊天的時候,想到一解決辦法,特此鼓勵鼓勵!也特...

mysql 解決方案 Mysql解決方案

mysql解決方案 一 centos7安裝mysql5.7 wget rpm uvh mysql80 community release el7 3.noarch.rpm yum repolist all grep mysql 發現預設mysql8.0是預設安裝的,然而我們要安裝的是mysql5.7...

jitter buffer QoS的解決方案

乙個分享webrtc的大神 qos出現的背景 而當網路發生擁塞的時候,所有的資料流都有可能被丟棄 為滿足使用者對不同應用不同服務質量的要求,就需要網路能根據使用者的要求分配和排程資源,對不同的資料流提供不同的服務質量 1 對實時性強且重要的資料報 文優先處理 2 對於實時性不強的普通資料報文,提供較...