首页 > 代码库 > iOS __block变量作用域

iOS __block变量作用域

看下图

在c语言中,2个独立的函数是不可能互相访问局部变量的(inline?)但是block提供了这个功能,它不但能读变量,还可以对变量进行写!上图说明,block获得了i最后的真实值5,没有只取得0,这都是__block的作用。再看j,由于没有__block前缀,只取得了0,没有获得5。__block的作用简单的说,就是copy了一份副本到heap中,并维护这个副本的生存,所以可以使用已经结束了的函数中的局部变量。