在主線程操作UI
一定要在主線程里執(zhí)行UI操作融求,這是一個初級工程師都應(yīng)該懂得的道理剑刑,但是,在實(shí)際開發(fā)中双肤,我們往往陷入這個巨坑施掏,而找不到原因。最典型的一個例子就是在失敗的回調(diào)里面處理UI茅糜,失敗的回調(diào)很多情況下是在子線程的七芭,如果直接處理UI,會導(dǎo)致崩潰蔑赘,而且這種奔潰發(fā)現(xiàn)不了原因狸驳。
殺死頁面后的延遲操作
項目中的任何removeView或者Controller的操作一定要小心,remove完成之后缩赛,該頁面的代理方法耙箍、該頁面的block、該頁面的延遲執(zhí)行的方法都不會執(zhí)行酥馍,因?yàn)樵擁撁嬉呀?jīng)被殺死辩昆,這些問題會出現(xiàn)在我們的項目中,要時時刻刻保持警惕旨袒,因?yàn)橐徊恍⌒木蜁?dǎo)致問題汁针,而且這些問題不容易查出來。
循環(huán)依賴
依次循環(huán)執(zhí)行多個model砚尽,當(dāng)前的model產(chǎn)生的結(jié)果會影響下一個model的執(zhí)行施无,所以,為了方便處理必孤,把當(dāng)前的model的屬性傳給下一個猾骡,這樣作用就會產(chǎn)生相互依賴。類似于敷搪,用masonry相對布局兴想,如果循環(huán)創(chuàng)建,每個視圖又相互依賴购啄,這樣襟企,只能每次記錄前一個布局嘱么,以供當(dāng)前布局使用狮含。
總結(jié)
項目中遇到bug顽悼,首先應(yīng)該冷靜處理,分析問題的原因几迄,不應(yīng)該把問題歸結(jié)于別人蔚龙,首先排查自己的問題,找到問題的根源映胁,然后解決問題木羹。不應(yīng)該搖擺不定,就應(yīng)該是自己的問題解孙,有些地方處理的不好坑填,有些地方是知識的盲區(qū),有些地方是邏輯出現(xiàn)錯誤弛姜。