UICollectionView大BUG — reloadData后變空白狗唉,cellForItemAtIndexPath不執(zhí)行

最近項目中遇到的一個大坑耍群,先擺出解決方案:https://github.com/tbl00c/UICollectionView-EmptyFix

癥狀

UICollectionView在reloadData后變成空白的了拓哺,contentSize正常,頁面能夠正吃耍滑動瑟曲,但是所有的cell都不展示了饮戳,visableCells屬性為空。調(diào)試發(fā)現(xiàn)唯獨cellForItemAtIndexPath這個回調(diào)方法不執(zhí)行洞拨。


2.png

ps. 也有人遇到說界面上所有的cell的hidden屬性都變?yōu)閅ES了扯罐,其實所有滑出頁進入復(fù)用池的cell都會被hidden。

調(diào)研

那問題出在哪呢烦衣?
通過對比發(fā)現(xiàn)collectionView變空白前后的屬性歹河,發(fā)現(xiàn)_reloadingSuspendedCount這個私有屬性的值被置為-1。


0.png

最終發(fā)現(xiàn)這個屬性不為0時花吟,reloadData是不會真正執(zhí)行的秸歧,它在insert、delete衅澈、move操作前會先被++键菱,以保證在執(zhí)行相關(guān)動效是不被reloadData打亂,執(zhí)行完畢后--今布。講道理它不會變?yōu)樨?fù)值经备,然而,它偏偏變了部默。

出錯根源

_reloadingSuspendedCount為什么變?yōu)樨?fù)值了呢侵蒙?加入UICollectionView-EmptyFix,在它變?yōu)?1的時查看堆棧信息發(fā)現(xiàn)傅蹂,這原來是另一個大坑:某個cell中纷闺,使用NSAttributedString處理html數(shù)據(jù)了,具體可以google份蝴。
就這樣~犁功。

解決方案

利用runtime將_resumeReloads替換,發(fā)現(xiàn)_reloadingSuspendedCount < 0時及時糾正搞乏。

參考

私有API調(diào)研過程參考:https://github.com/steipete/PSTCollectionView/tree/master/PSTCollectionView

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末波桩,一起剝皮案震驚了整個濱河市戒努,隨后出現(xiàn)的幾起案子请敦,更是在濱河造成了極大的恐慌,老刑警劉巖储玫,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侍筛,死亡現(xiàn)場離奇詭異,居然都是意外死亡撒穷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來必指,“玉大人,你說我怎么就攤上這事入录。” “怎么了佳镜?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵僚稿,是天一觀的道長。 經(jīng)常有香客問我蟀伸,道長蚀同,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任啊掏,我火速辦了婚禮蠢络,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迟蜜。我一直安慰自己刹孔,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布娜睛。 她就那樣靜靜地躺著芦疏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪微姊。 梳的紋絲不亂的頭發(fā)上酸茴,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音兢交,去河邊找鬼薪捍。 笑死,一個胖子當(dāng)著我的面吹牛配喳,可吹牛的內(nèi)容都是我干的酪穿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼晴裹,長吁一口氣:“原來是場噩夢啊……” “哼被济!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涧团,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤只磷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泌绣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钮追,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年阿迈,在試婚紗的時候發(fā)現(xiàn)自己被綠了元媚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖刊棕,靈堂內(nèi)的尸體忽然破棺而出炭晒,到底是詐尸還是另有隱情,我是刑警寧澤甥角,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布腰埂,位于F島的核電站,受9級特大地震影響蜈膨,放射性物質(zhì)發(fā)生泄漏屿笼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一翁巍、第九天 我趴在偏房一處隱蔽的房頂上張望驴一。 院中可真熱鬧,春花似錦灶壶、人聲如沸肝断。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胸懈。三九已至,卻和暖如春恰响,著一層夾襖步出監(jiān)牢的瞬間趣钱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工胚宦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留首有,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓枢劝,卻偏偏與公主長得像井联,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子您旁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

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

  • 概述 UICollectionView是iOS開發(fā)中最常用的UI控件之一烙常,可以用它來管理一組有序的不同尺寸的視圖,...
    漸z閱讀 2,955評論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案鹤盒? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,728評論 1 92
  • 在開發(fā)中我們難免會用到UICollectionView蚕脏,一般常規(guī)用法是沒有任何問題的,但是昨悼,比如在用UIColle...
    Code_Ninja閱讀 3,355評論 6 11
  • 在開發(fā)中我們難免會用到UICollectionView蝗锥,一般常規(guī)用法是沒有任何問題的跃洛,但是率触,比如在用UIColle...
    真愛要有你才完美閱讀 1,035評論 0 1
  • 時間過得飛快,2017年已過半汇竭,現(xiàn)對工作做以下總結(jié): ...
    fe1dd6b217e3閱讀 620評論 0 0