
該文章屬于劉小壯原創(chuàng),轉(zhuǎn)載請注明:劉小壯[http://www.lxweimin.com/u/2de707c93dc4] NSURLSession NSURLSession在...
1. super的本質(zhì) 1.1 問題 首先來看一道面試題: 輸出: 上述代碼中可以發(fā)現(xiàn)無論是self還是super調(diào)用class或superclass的結(jié)果都是相同的。 為什...
1. 方法調(diào)用的本質(zhì) 本文我們探尋方法調(diào)用的本質(zhì),首先通過一段代碼,將方法調(diào)用代碼轉(zhuǎn)為c++代碼查看方法調(diào)用的本質(zhì)是什么樣的: 通過上述源碼可以看出c++底層代碼中方法調(diào)用其...
1. Class對象的結(jié)構(gòu)class_rw_t 通過前面對isa本質(zhì)結(jié)構(gòu)有了新的認識,今天來回顧Class對象的結(jié)構(gòu),重新認識Class的內(nèi)部結(jié)構(gòu)。 首先來看一下Class的...
1. isa指針的本質(zhì) 在學習Runtime之前首先需要對isa的本質(zhì)有一定的了解,這樣之后學習Runtime會更便于理解。 回顧一下之前學過的OC對象的本質(zhì),每個OC對象都...
1. block對對象變量的捕獲 block一般使用過程中都是對對象變量的捕獲,那么對象變量的捕獲同基本數(shù)據(jù)類型變量相同嗎? 那么當在block中訪問的為對象類型時,對象什么...
問題 block的原理是怎樣的?本質(zhì)是什么? __block的作用是什么?有什么使用注意點? block的屬性修飾詞為什么是copy?使用block有哪些使用注意? bloc...
問題: Category能否添加成員變量?如果可以,如何給Category添加成員變量? 1. 給Category添加屬性 在之前我們通過對Category底層源碼的解析知道...
問題 Category的實現(xiàn)原理,以及Category為什么只能加方法不能加屬性。 Category和Extension的區(qū)別是什么? Category中有l(wèi)oad方法嗎?l...
一、KVO 問題 iOS用什么方式實現(xiàn)對一個對象的KVO?(KVO的本質(zhì)是什么?) 如何手動觸發(fā)KVO? 1. KVO使用 KVO的全稱Key-Value Observing...
1. Class類型的底層結(jié)構(gòu) 1.1 objc_class 我們知道不管是類對象還是元類對象,類型都是Class,類對象和元類對象的底層都是objc_class結(jié)構(gòu)體的指針...
0. 基礎準備 0.1 大小端模式的內(nèi)存存儲和讀取規(guī)則 arm64采用的是小端模式 存儲:數(shù)據(jù)的低位保存在內(nèi)存的低地址中,而數(shù)據(jù)的高位保存在內(nèi)存的高地址中 讀取:從高位地址到...
一、加密解密 1. 密碼相關 1.1 簡介 根據(jù)對加密和解密使用的密鑰方法,可以將密碼分為2種: 對稱密碼:加密用的密鑰和解密用的密鑰是相同的。 公鑰密碼(非對稱密碼):加密...
iOS匯編 真機:arm64匯編 模擬器:x86匯編 將c語言的代碼轉(zhuǎn)化成匯編: 1. 寄存器 lldb查看當前arm64(iOS真機)的所有寄存器: 輸出: 1.1 通用寄...