大佬教程收集整理的这篇文章主要介绍了ios – 为什么只有一名代表?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我使用协议创建一个对象,并且我希望从该对象中收集来自其他几个对象的大量数据.我将符合我的协议的每个对象添加到一个数组中.然后我循环遍历它并在每个代理上调用我的方法.
NSMutableArray *collectFromDelegates = [NSMutableArray alloc]init]; //in delegateArray I keep pointers to every delegate. for(id delegate in delegateArray){ [collectFromDelegates addObject:[delegate someProtocolMethod]]; }
这是错的吗?
拥有多个对象为您处理事件没有多大意义,因为它已经被处理过了.我可以看到有多个委托的唯一原因是,如果第一个无法处理事件,它可以传递给下一个,继续直到某个对象处理它.
在您的示例中,对象充当数据源.这比多个委托更有意义,但可以通过让单个数据源组合来自多个对象的数据来轻松实现,这意味着要求数据的对象不必担心如何组合它.
您经常需要多个对象的另一种情况是接收事件通知.这不是委托,因为对象不适用于对象,只是对对象发生的事情起作用.使用通知或观察可以更好地实现.
以上是大佬教程为你收集整理的ios – 为什么只有一名代表?全部内容,希望文章能够帮你解决ios – 为什么只有一名代表?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。