今天無意這中遇到一個奇怪的崩潰幔翰,先上引起崩潰的代碼: 當執(zhí)行到dealloc的時候,程序就crash 掉了桅打。崩潰信息如下: 其中劝堪,可以在控制臺明確看到這樣一段描述: objc...
今天無意這中遇到一個奇怪的崩潰幔翰,先上引起崩潰的代碼: 當執(zhí)行到dealloc的時候,程序就crash 掉了桅打。崩潰信息如下: 其中劝堪,可以在控制臺明確看到這樣一段描述: objc...
前言 在上一篇文章是的時候飒焦,objc_setProperty方法的實現(xiàn)并沒有體現(xiàn)strong和weak這兩個修飾詞八孝,所以這兩個修飾詞是有另外的實現(xiàn)问潭,而且是在上已層實現(xiàn)的;co...
前言 進入 iOS 開發(fā)一年多饼暑,大部分時間都在寫業(yè)務(wù)代碼稳析,鮮有對優(yōu)秀開源代碼的學(xué)習(xí)、總結(jié)弓叛。深知彰居,是時候開始學(xué)習(xí)一些。萬事開頭難撰筷,所以我準備從比較簡短的開源代碼開始學(xué)習(xí)陈惰。第一篇...
GitHub 地址 1.獲取 NSObject 對象占用的空間 創(chuàng)建一個 NSObject 對象, 分別調(diào)用 class_getInstanceSize 和 malloc_s...
1.回顧之前 ? 前面我們講過alloc的一些底層探索中,在分配內(nèi)存的時候有涉及到內(nèi)存對齊的概念毕籽。instanceSize()中alignedInstanceSize()內(nèi)存...
前言 提到iOS的內(nèi)存泄漏檢測抬闯,第一個想到的應(yīng)該就是Instruments的Leaks檢測模版。不過使用過的人一般都會覺得這個檢測不準確影钉,有時候明明泄露了画髓,但是它卻檢測不出來...
像NSArray,NSSet,NSDictionary是平時常用的數(shù)據(jù)類型,今天想說的是另外兩個比較高階的集合NSHashTable和NSMapTable平委。 NSHashTa...
RunLoop 是 iOS 和 OSX 開發(fā)中非衬蜗海基礎(chǔ)的一個概念。 網(wǎng)上已經(jīng)有很多源碼分析和具體Demo的研究。 寫這篇文章的目的是把目前網(wǎng)上能夠找到的文章進行一個整體梳理肉微。...
文章的由來: 偶然在一次想要判斷當前控制器是通過present模態(tài)推出還是通過push入棧顯示的時候注意到了presentingViewController和presente...
inline 在iOS中的一些框架中,static inline是經(jīng)常出現(xiàn)的關(guān)鍵字組合. static自不用多說,表示在當前文件中應(yīng)用,如 static A, 在其它文件中也...
一匾鸥、CFMutableDictionaryRef的使用 最近在看YYModel的源碼,發(fā)現(xiàn)其中多次使用了CFMutableDictionaryRef來對類相關(guān)信息進行緩存碉纳。為...
GNUstep KVC/KVO探索(一):KVC的內(nèi)部實現(xiàn)GNUstep KVC/KVO探索(二):KVO的內(nèi)部實現(xiàn) 概述 KVO全稱KeyValueObserving勿负,是蘋...
前言 Category能否添加成員變量?如果可以劳曹,如何給Category添加成員變量奴愉?答:不能直接添加成員變量,但是可以通過runtime的方式間接實現(xiàn)添加成員變量的效果铁孵。 ...
引子 apple 的《Transitioning to ARC Release Notes》一文里锭硼,其中一小節(jié)"ARC Introduces New Lifetime Qua...
本文是Advanced Apple Debugging的學(xué)習(xí)筆記.首先將Xcode升級到8.3版本.可以通過下載地址下載.我們主要是通過LLDB,Python和DTrace來...
關(guān)于 Runtime ,網(wǎng)上已經(jīng)有很多很好的文章蜕劝,寫得很詳盡檀头。本篇主要是從新手的角度出發(fā),逐步介紹 Runtime 的原理岖沛、常用方法暑始、應(yīng)用場景等。 一婴削、Runtime 是什么...
寫在前面 當在10億數(shù)據(jù)進行不到30次比較就能查找到目標時廊镜,不禁感嘆編程之魅力!人類之偉大呀唉俗! —— 學(xué)紅黑樹有感期升。 終于,在學(xué)習(xí)了幾天的紅黑樹相關(guān)的知識后互躬,我想把我所學(xué)所想...
本文首發(fā)于我的個人博客:「程序員充電站」[https://itcharge.cn]文章鏈接:「傳送門」[https://itcharge.cn/ios-complete-le...
_MARK
iOS Runtime詳解Runtime的特性主要是消息(方法)傳遞,如果消息(方法)在對象中找不到颂郎,就進行轉(zhuǎn)發(fā)吼渡,具體怎么實現(xiàn)的呢。我們從下面幾個方面探尋Runtime的實現(xiàn)機制乓序。 Runtime介紹...
Runtime的特性主要是消息(方法)傳遞寺酪,如果消息(方法)在對象中找不到,就進行轉(zhuǎn)發(fā)替劈,具體怎么實現(xiàn)的呢寄雀。我們從下面幾個方面探尋Runtime的實現(xiàn)機制。 Runtime介紹...