一、如果blcok 访问的外部变量是局部变量,是值传递 ,外面改变不会影响block 里面

block变量的传递

block变量的传递

二、如果block 访问的外部变量是__block 或者 static 修饰 或者是全局变量。那么就是指针传递。外界改变里面,也会改变

block变量的传递

通过clang 编译后的.cpp 文件中 可以发现 __main__block_impl_0 中的参数 是 &a。

block变量的传递

block变量的传递

当 static 修饰时,__main__block_impl_0 方法中的参数 依旧是 &a;

block变量的传递

 

 

相关文章:

  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-21
  • 2021-08-19
  • 2021-07-16
  • 2021-06-07
  • 2021-11-24
  • 2021-08-08
  • 2021-10-04
相关资源
相似解决方案