UITableView 復(fù)用時出現(xiàn)錯亂問題

列表通過網(wǎng)絡(luò)加載數(shù)據(jù)的時候,不要將網(wǎng)絡(luò)異步加載數(shù)據(jù)直接給列表項賦值。

原來做android項目開發(fā)的時候,在列表通過網(wǎng)絡(luò)加載數(shù)據(jù)的時候,也遇到過item 復(fù)用也出現(xiàn)過錯亂的效果。為什么不直接用它的思路呢?

當(dāng)正在網(wǎng)絡(luò)異步加載數(shù)據(jù)的Cell A,我們可能需要去刷新Cell的UI,這時候,當(dāng)屏幕滑動,cell B復(fù)用A, 本來是想刷新A的,這時候B也刷新了,如果A一直在更新UI,屏幕不斷滑動,A就大量的被復(fù)用,這個時候就會出現(xiàn)很多錯亂的效果。

解決方式:

不要直接將網(wǎng)絡(luò)加載數(shù)據(jù)給cell賦值??梢杂媚P?,cell對應(yīng)一個模型,我把上傳和下載的邏輯都寫在了模型中,在網(wǎng)絡(luò)加載過程中變化的數(shù)據(jù)賦值給對應(yīng)的模型,并且通知Cell,然后Cell通知給tableView去刷新一下列表(Android當(dāng)時就是這個思路,可惜沒有用到這,費(fèi)了好久才想明白)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 2017.02.22 可以練習(xí),每當(dāng)這個時候,腦袋就犯困,我這腦袋真是神奇呀,一說讓你做事情,你就犯困,你可不要太...
    Carden閱讀 1,373評論 0 1
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,099評論 8 183
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,210評論 30 471
  • 這是心靈自由寫作群第二十三天第二十四天作業(yè) 不知是不是上大學(xué)以來有一個壞毛病,因為時間自由了,所以用大量的時間看電...
    阿麗安閱讀 305評論 0 3