因為UIKit不是線程安全的蝉娜。試想下面這幾種情況:
兩個線程同時設置同一個背景圖片盹靴,那么很有可能因為當前圖片被釋放了兩次而導致應用崩潰趁耗。
兩個線程同時設置同一個UIView的背景顏色芯咧,那么很有可能渲染顯示的是顏色A奏赘,而此時在UIView邏輯樹上的背景顏色屬性為B。
兩個線程同時操作view的樹形結構:在線程A中for循環(huán)遍歷并操作當前View的所有subView幕屹,然后此時線程B中將某個subView直接刪除蓝丙,這就導致了錯亂還可能導致應用崩潰。
iOS4之后蘋果將大部分繪圖的方法和諸如 UIColor 和 UIFont 這樣的類改寫為了線程安全可用香嗓,但是仍然強烈建議講UI操作保證在主線程中執(zhí)行迅腔。