block的关键修饰字

block的创建一般是在栈区(_NSConcreteStackBlock),数据区域(_NSConcreteGlobalBlock),和堆区(_NSConcreteMallocBlock)。现在大部分block都是_NSConcreteStackBlock类,且都设置在栈上。如果其所属的变量作用域结束,该block就被废弃。所以block一般使用copy关键之进行修饰,使用copy可以把它放到堆区。这样即使block的变量作用域结束,堆上的block还可以继续使用。

你可能感兴趣的:(block的关键修饰字)