Block的變量捕獲(capture)

Block的類型

Block的類型.png

Block調(diào)用copy之后
如何區(qū)分Block的類型
MRC:
Global:沒有訪問auto變量
Stack: 有訪問auto變量,系統(tǒng)自動管理內(nèi)存,會有提前釋放的可能,不必?fù)?dān)心循環(huán)引用問題
Malloc:NSStackBlock調(diào)用copy操作
ARC:
Global:沒有訪問auto變量
Stack: 有訪問auto變量,ARC下系統(tǒng)會自動調(diào)用copy把NSStackBlock變成NSMallocBlock
Malloc:NSStackBlock調(diào)用copy操作