block的创建一般是在栈区(_NSConcreteStackBlock),数据区域(_NSConcreteGlobalBlock),和堆区(_NSConcreteMallocBlock)。现在大部分block都是_NSConcreteStackBlock类,且都设置在栈上。如果其所属的变量作用域结束,该block就被废弃。所以block一般使用copy关键之进行修饰,使用copy可以把它放到堆区。这样即使block的变量作用域结束,堆上的block还可以继续使用。
block的创建一般是在栈区(_NSConcreteStackBlock),数据区域(_NSConcreteGlobalBlock),和堆区(_NSConcreteMallocBlock)。现在大部分block都是_NSConcreteStackBlock类,且都设置在栈上。如果其所属的变量作用域结束,该block就被废弃。所以block一般使用copy关键之进行修饰,使用copy可以把它放到堆区。这样即使block的变量作用域结束,堆上的block还可以继续使用。
本文标题:block的关键修饰字
本文链接:https://www.haomeiwen.com/subject/ahazpttx.html
网友评论