何时用Delegate和何时用Block?

2016-07-13  本文已影响308人  王欣12138

公共接口,方法较多也选择用delegate进行解耦

delegate的话,运行成本低,delegate只是保存了一个对象指针,直接回调,没有额外消耗

block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是加计数,使用完或者block置nil后才消除

iOS有很多例子比如最常用tableViewDelegate,textViewDelegate

异步和简单的回调用block更好

iOS有很多例子比如常用的网络库AFNetwork,ASIHTTP库,UIAlertView类。

都是为了在具体的实现Delegate或Block中再进行处理,属于策略模式,具体算法在具体算法类中实现。

上一篇下一篇

猜你喜欢

热点阅读