iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 为什么只有一名代表?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经读过一个对象一次只能有一个委托.
但这是真的吗?

假设我使用协议创建一个对象,并且我希望从该对象中收集来自其他几个对象的大量数据.我将符合我的协议的每个对象添加一个数组中.然后我循环遍历它并在每个代理上调用我的方法.

NSMutableArray *collectFromDelegates = [NSMutableArray alloc]init];

//in delegateArray I keep pointers to every delegate.
for(id delegate in delegateArray){
  [collectFromDelegates addObject:[delegate someProtocolMethod]];
}

这是错的吗?

解决方法

那不是真的 delegation.

拥有多个对象为您处理事件没有多大意义,因为它已经被处理过了.我可以看到有多个委托的唯一原因是,如果第一个无法处理事件,它可以传递给下一个,继续直到某个对象处理它.

在您的示例中,对象充当数据源.这比多个委托更有意义,但可以通过让单个数据源组合来自多个对象的数据来轻松实现,这意味着要求数据的对象不必担心如何组合它.

您经常需要多个对象的另一种情况是接收事件通知.这不是委托,因为对象不适用于对象,只是对对象发生的事情起作用.使用通知或观察可以更好地实现.

大佬总结

以上是大佬教程为你收集整理的ios – 为什么只有一名代表?全部内容,希望文章能够帮你解决ios – 为什么只有一名代表?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。