我有一个场景,Obj A向Obj B发送一个委托消息说按下按钮.
Obj B根据委托
调用采取一些行动.
Obj A希望根据调用该委托消息后发生的结果在屏幕上显示某些内容.
说Obj B维护一个计数器,表明该动作发生了多少次.
所以当Obj A按下按钮并调用委托方法时,该委托方法返回一个值是个好主意,在我的情况下是当前计数器吗?
这样Obj A就可以显示计数器的更新值.
在这种情况下,同一消息充当委托和数据源.
对我来说,Obj A是View,Obj B是View Controller.
我的实施有缺陷吗?
我喜欢你的实现.
即使它没有区分委托和数据源角色,它也以更简单的方式组合它们.
我想在MVC概念上实现的适当方法是:
> A(视图)向B(代表)发送一条消息,说“我被窃听”或类似的东西.
> B(代理)根据需要执行操作,并向A发送一条消息“reloadData”.
> A要求B(作为数据源)显示数据.
因为在你的情况下,委托和数据源是同一个对象,就像在许多其他情况下发生的那样,在我看来,这似乎是非常合理的,并且完全不会像你那样实现流程:
> A(视图)向B(委托和数据源)发送消息并接收刷新视图所需的数据信息.