做爲開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個 個人iOS交流羣:761407670,無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!
A1-A7
使用相同的identifer
,當tableView
向上滑動,A1
劃出頁面後,就被放入了重用池。A7
即將展現時,首先會在重用池中查看時候有相同identifer
的cell
能夠被重用,若是有則直接取出使用,若無則建立一個新的cell
。小編這裏有準備一些面試進階資料, 最新面試大廠常問面試答案一份。但願真心可以幫助到你們提高技術!
ViewReusePool
類的聲明
ViewReusePool
類的實現
dequeueReusableView
函數實現
addUsingView:
函數實現
reset
函數實現
ViewReusePool
類的使用
主線程
中有刪除
操做,同時在子線程
上又有加載更多
數據的操做時,就會出現數據源同步問題
。
子線程
返回主線程
的數據中,仍然包含刪除的這一條數據。主線程
進行刪除操做時,將操做記錄下來。以後在子線程
同步數據時,同步刪除操做。
子線程
的數據同步和主線程
的刪除操做所有放入一個串行隊列
中執行。
UIView
對象中的layer
指向一個CALayer
變量UIView
對象中的backgroundColor
屬性,是對CALayer
同名屬性的封裝。UIView
展現部分是由CALayer
中的contents
來決定。contents
對應的backing store
實際上是一個bitmap
的位圖。UIView
爲其提供內容,以及負責處理觸摸等事件,參與響應鏈。CALayer
負責顯示內容contents
。單一職責
原則。
image面試
UIApplication
接受,並傳遞給UIWindow
。UIWindow
調用hitTest
函數,在hitTest
內調用pointInside
判斷事件是否在該視圖內。false
,則返回該視圖,事件傳遞流程結束。true
,則可倒敘遍歷
該視圖的子視圖
,並調用子視圖
的hitTest
函數。hitTest
爲true
的子視圖
,並依次返回,事件傳遞流程結束。hitTest
系統內部實現
hitTest
函數前,須要將當前座標轉換爲子視圖
中的座標。
pointInside
函數,使得點擊區域在圓形範圍內返回true
,不然返回false
。