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

block的底层实现原理?

时间:2016-02-22 15:22:21      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

block就是指向结构体的指针,编译器会将block的内部代码生成对应的函数,利用这个指针就可以调用这个函数.普通的局部变量是值传递,用__block ,static ,或者是全局变量就是地址传递

block的内存默认是存放在栈里面的,他不会对所引用的对象进行操作

如果对block做一次copy操作block的内存就会在堆区,他会对所引用的对象做一次retain操作.为了防止循环引用 MRC:用__block typeof(self) [这么写重用率比较高]就不会做retain操作  ARC:用__unsafe_unretained\__weak就不会做retain操作

block的底层实现原理?

标签:

原文地址:http://www.cnblogs.com/Jusive/p/5206884.html

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