定义block属性时为什么要用copy关键字定义block属性时为什么要用copy关键字例子:@property (nonatomic, copy) BlockType callback; 原因: block在创建的时候,它的内存是分配在栈上的,可能被随时回收。block本身的作用域是属于创建时候的作用域,一旦在该作用域之外调用block,就会导致程序crash。 而通过copy可以把block拷贝到堆上,既避免了随时回收的问题,又保证block可以在声明域外使用。