黑马程序员技术交流社区

标题: 请教下block的使用细节和使用优势? [打印本页]

作者: cogddo    时间: 2015-5-6 17:17
标题: 请教下block的使用细节和使用优势?
学习了block,总感觉它有很大的可塑造性。讨论讨论它的应用场景和优点

作者: 许庭洲    时间: 2015-5-12 09:51
1.block默认都是分配在stack,当copy后,它移到heap里;
2.block中的变量默认是不能修改的,只有添加__Block修饰符后才能修改;
3.block中有oc对象时,会_Block_retain_object(object),直到block销毁后才会_Block_release_object(object);
4.对block进行copy时
If you access an instance variable by reference, a strong reference is made to self;
If you access an instance variable by value, a strong reference is made to the variable.
它会将self进行copy,此时改对象的dealloc方法不会执行(因为它的引用计数归0),解决此问题有2种方法:在block执行完成后面立即Block_Release(),或者将改变量声明为__Block类型(Why?)


作者: wangzhewjl    时间: 2015-5-12 10:17
理解有点困难,能不能配合一些简单的例子讲解一下呢!谢谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2