//使用总结: //1.当block里面会有b类相关的参数要回调回去的时候,属性用copy修饰,将其拷贝到堆里面,这样即便栈释放掉了,b类的指针也在堆中存在,能够成功的回调回去。 //Block默认存放在栈中,可能随时被销毁,需要作用域在堆中, //所以只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的。 //2.如果语法块仅仅是执行而不再回调回去了, 比如操作某个数据库,修改某个单利类的属性,发送某个通知之类的,则可以用weak来修饰。