🌟block在栈上时,并不会对__block变量产生强引用
🌟当block copy到堆时
会调用block内部的copy函数
copy函数内部会调用_Block_object_assignd函数
_Block_object_assignd函数会对__block内部变量产生强引用(retrain)
Screen Shot 2020-04-17 at 4.25.27 PM.png
🌟当block从堆中移除时
会调用block内部的dispose函数
dispose函数内部会调用_Block_object_dispose函数
_Block_object_dispose函数会自动释放__block变量(release)
Screen Shot 2020-04-17 at 4.34.39 PM.png
网友评论