您的位置:首页 > 移动开发 > IOS开发

关于IOS delegate回调的理解

2015-02-05 11:56 267 查看
1. 什么是回调?

1) A类想要执行某个方法(如方法:run),但是A类自己无法实现这个方法,这个时候A类就把run这个方法委托出来(用delegate)。然后让B类去实现A类的委托方法 (delegate)run。当B实现run方法之后,A会再次调用run方法,将B实现的结果告诉A,此时A就达到了回调的目的。

2) 回调函数就是那些自己写的,但不是自己来调,而是给别人来掉的函数。

2. 回调在什么时候会用到?

1) 程序异步执行的时候用得多,比如执行完一段要返回一个结果,就可以在执行完后调用回调函数

3. 回调函数有什么好处?

1) 最大的好处是你的程序变成异步了。也就是你不必再调用这个函数的时候一直等待这个时间的到达、事件的发生或中断的发生(万一一直不发生,你的程序会怎么样?)。再此期间你可以做做别的事情,或者四处逛逛。当回调函数被执行时,你的程序重新得到执行的机会,此时你可以继续做必要的事情了

ps:如果不适用delegate的情况下,可以使用定时器来完成回调的功能。如:A类公开一个接口方法,此时让一个定时器每隔1s钟刷新一次这个方法,这时B类实现这个接口方法,接着B就把结果返回给A。

delegate回调例子
http://duchengjiu.iteye.com/blog/1876713
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: