数据回调
在iOS中,提供了很多种方式用于异步加载,例如直接广播的Notification、函数回调的delegate以及最具特色的Block,我们先来看看他们各自的优缺点。
-
Notification
Notification,顾名思义的广播,其特点在于一对多地发送相关数据的通知。优点非常明显,易于实现;但缺点也很明显,会破坏整个APP架构设计中的层次结构,造成跨层的调用和处理。 -
Delegate
Delegate,最常用的的回调方式。优点是后期易于维护且不会造成跨层的调用;缺点则是回调代码与输入的逻辑代码大部分时候不会放在一起,增加了一些后期阅读上的成本。 -
Block
在Block的使用过程中,一定要注意使用weakSelf和strongSelf来打破循环引用。否则造成的内存泄漏会造成后期排查的困难。
小结
它们三者究竟谁更好呢?
Delegate和Notification大家可能用的比较多,在很多框架中大量使用,而Notification是最为简单易用的。相比之下,block可能需要注意更多,使用起来也更佳晦涩。
之后我将会以一个自定义alertView输入框的demo来演示block回调,相信通过这个实用的例子,大家能够对block有更多的理解。
感谢您的阅读,您的支持是我更新的动力。