关于回调函数——Delegate的那些事
序
iOS笔记也终于迈入两位数之列。在此里程碑下。明显要拿出点诚意来好好写一写。所以,我决定写一下早已改写的delegate。
什么是回调函数
我们先不管delegate,我们先来说说回调函数(callback).wiki的解释在这里。
回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。
好我来说所自己理解过后的解释:
- 如果不用回调函数可不可以写程序。(明显可以)
- 那为什么要用回调函数这种东西。(现代开发软件过程中其实一直在强调一些相同的东西:抽象、复用)
- 复用是为了提高生产效率。提高生产效率,才能创造更大的价值。
- 怎么复用——抽象。只用抽象出来的东西才有复用的价值。
- 从代码量各种角度来看,回调似乎是复用代码了。但是回调不仅仅如此。更大的作用是解耦。
- 解耦简单说来就是让程序结构更好,更容易读,更容易修改,更容易修改的其中一个基本方法。
- 回调怎么解耦。A做一把椅子,但是步骤很多。其中一个步骤上漆应该是B来做。因为B是专门做上漆(B有油漆,有刷子,有技术。B持有上漆这个步骤最佳实践)。正确的方法肯定不是A自己去买油漆刷子把这个步骤做了。而是叫B来把这个步骤做好。然后A继续组装椅子。直到椅子做好。
扯了这么多。其实就是wiki上解释的哪些而已。如果还不明白,再看一次wiki。再多写写代码吧。