gpt4 book ai didi

ios - Obj-C 中的委托(delegate)模式 - 我做错了吗?

转载 作者:行者123 更新时间:2023-11-29 03:43:58 25 4
gpt4 key购买 nike

所以在我的应用程序中我有以下情况:

BackendCommunicatingClass ->(所属)-> ModelClass ->(所属)-> HomescreenViewController

  • HomescreenViewController 是 ModelClass 的委托(delegate)。
  • ModelClass 是 BackendCommunicatingClass 的委托(delegate)。

另外,当应用程序第一次启动时,我有这个:

WelcomeViewController ->(拥有者)-> HomescreenViewController

  • HomescreenViewController 是 WelcomeViewController 的委托(delegate)。

当用户在WelcomeViewController中输入用户名和密码时,此信息需要一直到达BackendCommunicatingClass,然后一直返回WelcomeViewController以在需要时显示错误。现在,我通过将信息传递给通信链中的每个类来实现这一点,直到它到达 BackendCommunicatingClass。结果是协议(protocol)方法有很多重复,我觉得我做错了。

你觉得怎么样?

最佳答案

嗯,我知道这不是最清晰的解决方案,但是在没有看到代码和程序的目的的情况下,这就是我的建议。

  • 在后端 View Controller 中实现键值观察(KVO),观察主视图 Controller 中的变化。一旦后端 Controller 通过主视图 Controller 中的专用变量检测到文本字段中的更改,它就会触发它必须执行的所有操作。
  • 当后端完成时,它会发送一个包含操作结果的 NSNotification。您已监听此类自定义通知的主视图 Controller ,对此使用react并显示错误消息或其他内容。

听起来可能很复杂,但是 KVO 和通知很容易实现,而且网上有很多文档和教程。

关于ios - Obj-C 中的委托(delegate)模式 - 我做错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com