block 与 delegate 的区别

来源:互联网 发布:mac淘宝不能上传图片 编辑:程序博客网 时间:2024/03/29 08:34
delegate运行成本低。block成本很高的。而且delegate是经典设计模式也就是大部分的语言都可以实现的模式,相对block出现比较早。
block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是加计数,使用完或者block置nil后才消除。delegate只是保存了一个对象指针,直接回调,没有额外消耗。相对C的函数指针,只多做了一个查表动作
0 0
原创粉丝点击