美文网首页ios开发iOS点点滴滴iOS学习开发
Ios开发-block为什么要用copy修饰

Ios开发-block为什么要用copy修饰

作者: 纪叙 | 来源:发表于2018-07-07 09:31 被阅读14次

    block为什么要用copy修饰? block:我们称代码块,他类似一个方法。而每一个方法都是在被调用的时候从硬盘到内存,然后去执行,执行完就消失,所以,方法的内存不需要我们管理,也就是说,方法是在内存的栈区。所以,block不像OC中的类对象(在堆区),他也是在栈区的。如果我们使用block作为一个对象的属性,我们会使用关键字copy修饰他,因为他在栈区,我们没办法控制他的消亡,当我们用copy修饰的时候,系统会把该 block的实现拷贝一份到堆区,这样我们对应的属性,就拥有的该block的所有权。就可以保证block代码块不会提前消亡。

    相关文章

      网友评论

      本文标题:Ios开发-block为什么要用copy修饰

      本文链接:https://www.haomeiwen.com/subject/vjgiuftx.html