dre*_*kka 45
我曾经在人们试图使用多个代表的项目上工作,这基本上是个坏主意.委托模式是类与其委托之间的1对1关系.虽然可以通过切换代表来实现某种程度的多重委派,但更有可能导致不可预测的行为和错误.
我的建议是改变你对此的看法.我看到你有两个选择:
切换到Observer模式,您可以在其中注册主类可以与之交互的多个观察者.当观察者都实现相同的协议并且主类想要了解观察者和与他们的交互时,这非常有用.
广播NSNotifications以指示状态更改和事件.这是一种更加分离的方法,因为主类不需要知道谁在听,也不需要直接与它们交互.其他人可以在闲暇时开始和停止通知.它还具有您不需要创建或实现单独协议的优点.而是通过NSNotificationCenter注册需要了解更改的类,然后NSNotificationCenter会为您处理所有通知路由.
Cha*_*bot 11
实际上听起来像委托模式可能不是最好的方法.
我会调查一下NSNotificationCenter.
基本的想法是,你的网络连接的单身人士发布通知(类似的东西postNotificationName:object:userInfo:),说新数据可用.在此通知中,您可以传递userInfo包含您已获取的数据的字典对象(),或者有关模型的哪些部分包含更新数据的信息.
然后,您的其他视图控制器可以通过调用自己注册以"观察"这些通知addObserver:selector:name:object:.一般来说,当一个vc变得可见时,我会打电话addObserver,removeObserver当它被隐藏或过渡时.
祝好运!
| 归档时间: |
|
| 查看次数: |
16824 次 |
| 最近记录: |