block底層淺談
函式指標是指向函式的指標變數。
C++裡面的結構體相當於OC裡面的類 類就有變數和方法
C++裡面跟類名一樣的方法是構造方法 構造方法是用來初始化當前方法的
blcok底層實現
首先會建立一個結構體 _main_block_impl_0
blcok變數 是函式指標 -> void(^blcokName)()
block塊物件 才是一個結構體 是有大量儲存空間的
block塊物件是結構體 結構體裡面有自己的構造方法 來建立自己 構造方法裡面需要傳入4個引數
void *fp 儲存一段函式 將來要執行的那個程式碼塊
_main_block_desc_0 *desc 描述自己大小的一個結構體
int _a 儲存之前傳遞進去的變數(blcok)內部使用外部變數 只穿block內部用到的變數
int flags 僅僅是個標記
函式呼叫 其實就是找到fp記錄的程式碼塊,再傳入block本身,在程式碼塊中就能訪問到block裡面記錄的變數_a的值。
相關文章
- block底層儲存方式BloC
- iOS底層原理 MVC、MVP、MVVM、分層設計淺談 — (13)iOSMVCMVPMVVM
- iOS底層原理 - Block本質探究iOSBloC
- iOS探索:Block解析淺談iOSBloC
- pyspark底層淺析Spark
- ArrayList底層原理淺析
- 淺談分層圖
- 理清 Block 底層結構及其捕獲行為BloC
- 淺談 block(2) – 截獲變數方式BloC變數
- iOS底層原理總結 - 探尋block的本質(二)iOSBloC
- iOS底層原理總結 - 探尋block的本質(一)iOSBloC
- iOS Block淺淺析iOSBloC
- 淺析skynet底層框架下篇框架
- 【雜談】Java I/O的底層實現Java
- 深入淺出 blockBloC
- block深入淺出BloC
- 【雜談】從底層看鎖的實現2
- OC底層探索(十六) KVO底層原理
- 簡單就是美!淺談java各層框架。Java框架
- 淺談程式碼分層:構建模組化程式
- 淺談使用 Vue 構建前端 10w+ 程式碼量的單頁面應用開發底層Vue前端
- 談談我對評論系統有限層及無限層評論的膚淺認知
- iOS中Block的用法,示例,應用場景,與底層原理解析(這可能是最詳細的Block解析)iOSBloC
- 阿里P8談談淺層神經網路的學習方法阿里神經網路
- 淺談 SpringMVC 中各層職責的設計SpringMVC
- synchronized底層原理synchronized
- 從底層原始碼淺析Mybatis的SqlSessionFactory初始化過程原始碼MyBatisSQLSession
- 談談北京市資料資產入表可獲補貼的底層邏輯
- 淺淺談ReduxRedux
- RunLoop底層原理探究OOP
- RabbitMq底層原理分析MQ
- HashMap原理底層剖析HashMap
- HashMap的底層原理HashMap
- iOS底層原理-CategoryiOSGo
- synchronized底層揭祕synchronized
- ArrayList集合底層原理
- LinkedHashMap 底層分析HashMap
- ConcurrentHashMap底層原理HashMap