
Q: 一個weak修飾的變量時怎么被加入到弱引用表中的?來看一個代碼塊: 我們先來看看objc_initWeak調用了什么方法。 我們從源碼可以...
Q: 什么是ARC? ARC是由編譯器(LLVM)為我們自動插入retain、release之外還需要Runtime協作最終組成了ARC。 AR...
iOS中的內存管理,涉及到這么幾個方法 alloc retain release retainCount autorelease dealloc...
先來了解一下iOS中的內存布局。 上面的圖代表的是內存區域,最上方是內核區,最下面是保留的內存空間。中間位置是給程序加載使用的空間。程序被加載到...
在說動態添加方法之前,我們先來看一個問題 Q: 使用performSelector:可能會遇到什么問題? 這個方法不會檢查對象的方法實現,所以可...
Q: 什么是Method-Swizzling? 實際上就是交換兩個方法的實現! 實際上實現起來很簡單 這樣兩個方法的實現就被交換了。
我們先來看看實例方法的消息轉發流程 這里來說明一下流程 先調用resolveInstanceMethod:這個類方法,告訴系統我們是否需要通過消...
方法緩存的查找流程,實際上就是按照給定的SEL,在方法緩存列表中找到對應的bucket_t中的IMP。對應的流程就是: 我們通過給定的方法映射出...
我們知道在OC中,所有的方法調用最終都會轉換成objc_msgSend形式的方法調用。如下圖: 而對于調用父類的方法,用的是另一個方法objc_...