
前言: 按照時間順序,事件的生命周期是這樣的:事件的產生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實現、攔截事件的處理)->找到...
iOS Objective -C alloc 調用流程 iOS Object-C init&new iOS OC 對象的內存對齊原則 iOS Objective-C isa ...
前言 第一:本文揭示了決定CALayer 大小和位置的其實是它的屬性bounds和position;CALayer的frame屬性,實際上是從bounds和position屬...
圖層樹的類型 layer tree 分為 model layer tree(模型圖層樹) 、presentation layer tree(表示圖層樹) 、render la...
layoutSubviews在以下情況下會被調用: init初始化不會觸發layoutSubviews但是是用initWithFrame 進行初始化時,當rect的值不為CG...
前言 Blocks是C語言的擴充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這個新功能“Blocks”。從那開始,Block就出現在iOS...
1.UIView的setNeedsDisplay和setNeedsLayout方法首先兩個方法都是異步執行的。而setNeedsDisplay會調用自動調用drawRect方...
NSDictionary介紹 NSDictionary(字典)是使用 hash表來實現key和value之間的映射和存儲的, hash函數設計的好壞影響著數據的查找訪問效率。...
iOS 底層原理 文章匯總[http://www.lxweimin.com/p/412b20d9a0f6] 本文主要介紹block的類型、循環引用的解決方法以及block底層...
好奇觸摸事件是如何從屏幕轉移到APP內的?困惑于Cell怎么突然不能點擊了?糾結于如何實現這個奇葩響應需求?亦或是已經被響應鏈、手勢、target-action這一系列響應觸...
博客鏈接深入理解GCD之dispatch_group 之前已經介紹了dispatch_semaphore的底層實現,dispatch_group的實現是基于前者的。在看源碼之...
摘錄: 「想名真難」、「猴子的毛」 簡化核心函數dispatch_once_f: 1、dispatch_atomic_cmpxchg,它是一個宏定義,原型為__sync_bo...
GCD里的單例函數dispatch_once是我們經常會用到的,今天我們來稍做深入分析一下。GCD的源碼都在libdispatch.dylib庫里,這個庫在libSystem...