block使用场景和注意事项

Posted gaogaihui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了block使用场景和注意事项相关的知识,希望对你有一定的参考价值。

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

以上是关于block使用场景和注意事项的主要内容,如果未能解决你的问题,请参考以下文章

使用 block 的小技巧和注意事项

ios开发之block的使用,及注意事项

关于block块使用的6点注意事项

关于block使用的5点注意事项

[深入浅出Cocoa]Block编程值得注意的那些事儿

block的注意点