码迷,mamicode.com
首页 > 其他好文 > 详细

block使用场景和注意事项

时间:2018-01-26 01:38:07      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:block   pac   解决方案   .com   retain   note   nbsp   none   web   

1.使用场景:一般在一个函数的前面和后面都是重复性的东西,只有中间变化,一般使用block
2.注意事项
01:可以访问外面的变量(作用域问题)
02.里外变量同名的时候,访问里面那个(就近原则)
03.可以访问外面的变量,但是不能改外面的值,因为不是同一个地址(只是copy了一份,值传递)
04.想要改变外面变量的值,需要 变量前 加上 _block (地址传递)
05.block类型存放位置:默认是栈,对block进行copy时,放在碓中
在栈中时,访问外面对象,不会对对象 retain一次
copy后在堆中时,会对对象进行retain一次,造成内存泄漏,不=0
解决方案:对对象进行 _block, 这样不管在堆还是栈,都不会retain一次
 
参考资料:
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 

block使用场景和注意事项

标签:block   pac   解决方案   .com   retain   note   nbsp   none   web   

原文地址:https://www.cnblogs.com/xiaohuihui-/p/8353864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!