1. 什么是block
--block是將函數及其函數執行體封裝起來的對象。
block實際是一個結構體,block_impl 包含兩個重要的數據 一個是isa指針(實例對象體objc_object和類結構體objc_class一樣含有isa指針)一個是funcptr函數指針指向函數體。
(block是一個對象,封裝了函數及函數體的執行上下文)
2. block調用?
Block的調用是函數調用
3. Block截獲變量的特性
》基本數據類型的局部變量是直接截獲其值(int bool啥的)
〉對象類型的局部變量是值連同所有權修飾符一同截獲(強引用)
》對于靜態變量,全局變量,靜態全局變量不截獲
4.為什么block會有循環引用
8