我们在开发中常常会用到函数回调,你可以用通知来替代回调,但是大多数时候回调是比通知方便的,所以何乐而不为呢?如果你不知道回调使用的场景,我们来假设一下:
1.我现在玩手机
2.突然手机没有电了
3.我只好让手机开始充电
4.充电的过程中我好无聊,我要去看电视,但是我不会一直看电视,我要等手机电充满了停止看电视,继续去玩手机
5.我开始看电视
6.手机电充好了,我听到手机响了一下,我不看电视了我继续去玩手机。
这个场景中哪里跟回调类似呢?哪里跟通知类似呢?其实我们可以认为手机充好电了通过回调的方式让我继续玩手机,也可以认为手机充好电了通知我可以继续玩手机,然后我主动继续玩手机。这里更像通知不像回调。但是换个思维想,如果手机本身没有回调机制,那他怎么能在恰好手机刚充满的时候响一下呢?
具体实现见下面链接:
block用法的实例解析
具体实现见下面链接:
个人理解:学习ios中 许多地方用到了block传值block 传值主要应用于回调。这跟属性传值 有很大的不同属性传值是从这个页面传值到下一个页面。是自上而下来传值的。block可用于自下而上 从下一个页面传向当前页面来传值。在开发过程中很多时候需要用到回调来进行传值。具体实现方法上面的链接里面有详细的介绍,这里不再做过多介绍。