面試提升必備 全面解析 iOS 中的 Runtime機制
-
第1章 課程介紹
介紹課程目標和學習內容,以及課程需要用到的知識點和環境引數。
- 1-1 全面解析iOS中的Runtime機制導學
- 1-2 介紹課程目標和學習內容
- 1-3 課程需要用到的知識點和環境引數
-
第2章 Runtime之必備C知識
本章主要介紹指標、結構體、位運算以及巨集定義相關知識點對應的操作及概念。
- 2-1 指標介紹
- 2-2 普通指標、指標的指標實際演練
- 2-3 陣列指標實際演練
- 2-4 函式指標實際演練
- 2-5 結構體介紹
- 2-6 訪問結構體、結構體指標
- 2-7 結構體位域
- 2-8 位運算介紹
- 2-9 左移、右移位運算
- 2-10 或、異或、取反位運算
- 2-11 巨集定義介紹及基本巨集定義操作
- 2-12 巨集定義邏輯判斷
-
第3章 Runtime之類的本質
本章主要介紹什麼是Runtime、Tagged Pointer、isa_t以及講解OC中的類結構和NSObject常用方法解析。
- 3-1 介紹OC、C、Runtime三者之間的關係
- 3-2 Runtime庫和Runtime開原始碼演示
- 3-3 OC中的類結構
- 3-4 OC物件模型
- 3-5 Tagged Pointer介紹
- 3-6 isa_t介紹
- 3-7 NSObject常用方法介紹
- 3-8 NSObject常用方法解析
-
第4章 Runtime之訊息處理
本章主要講解訊息處理策略,包含類方法和例項方法之間的區別、objc_msgSend、訊息傳送流程、直接跳過訊息傳送流程、訊息轉發流程、動態訊息解析、重定向、轉發、模擬多繼承。
- 4-1 類方法和例項方法之間的區別
- 4-2 objc_msgSend介紹
- 4-3 訊息傳送流程
- 4-4 直接跳過訊息傳送流程
- 4-5 訊息轉發流程
- 4-6 類方法動態訊息解析
- 4-7 例項方法動態訊息解析
- 4-8 重定向
- 4-9 轉發
- 4-10 模擬多繼承
-
第5章 Runtime之常用API
本章主要講解Runtime的常用API,包含獲取一個類objc_getClass、獲取類的名稱class_getName、獲取變數列表class_copyIvarList、獲取屬性列表class_copyPropertyList、獲取方法列表class_copyMethodList 、獲取協議列表class_copyProtocolList、動態新增變數class_addIvar、動態新增方法class_addMethod、動態交換方法method_...
- 5-1 獲取一個類objc_getClass
- 5-2 獲取類的名稱class_getName
- 5-3 獲取成員變數class_copyIvarList介紹
- 5-4 獲取成員變數class_copyIvarList實踐
- 5-5 獲取成員屬性class_copyPropertyList
- 5-6 獲取類的方法class_copyMethodList
- 5-7 獲取協議列表class_copyProtocolList
- 5-8 動態新增變數class_addIvar介紹
- 5-9 動態新增變數class_addIvar實踐
- 5-10 動態新增方法class_addMethod介紹
- 5-11 動態新增方法class_addMethod實踐
- 5-12 動態交換方法method_exchangeImplementations
-
第6章 Runtime之初始化過程
本章主要講解Runtime的初始化過程,主要講解程式載入過程、函式map_images、函式load_images、函式initialize 。
- 6-1 程式載入過程
- 6-2 函式map_images介紹
- 6-3 函式map_images實踐
- 6-4 函式load_images
- 6-5 函式initialize
-
第7章 Runtime之Category
本章主要講解Runtime的Category,首先會介紹什麼是Category,接著會講解Category的初始化、Category中的方法覆蓋問題、Category Associate的介紹 、Category Associate的實現。
- 7-1 Category介紹
- 7-2 Category的初始化
- 7-3 Catory中的方法覆蓋問題(一)
- 7-4 Catory中的方法覆蓋問題(二)
- 7-5 Category Associat的介紹及實現
-
第8章 Runtime之KVO
本章主要講解KVO的原理解析,並且會手動呼叫KVO,以及模擬KVO的實現。
-
第9章 Runtime之應用技巧
本章主要講解Runtime在企業開發中的實際應用,包括Method Swizzling處理陣列越界、字典和模型的自動轉換、自動歸檔和自動解檔、萬能跳轉介面方法。
-
第10章 Runtime之面試題目
本章會講解企業面試中十道經典的Runtime面試題目,讓你輕鬆拿高薪offer。
-
第11章 課程總結
本章主要是梳理總結前面課程內容的知識點。
-
下載地址: