gpt4 book ai didi

iPhone 正确使用 Application Delegate

转载 作者:IT老高 更新时间:2023-10-28 11:30:10 45 4
gpt4 key购买 nike

我希望能够通过我的应用程序中的任何位置引用某些状态/对象。例如,用户登录到他们的应用程序,我需要调用 Web 服务并检索用户信息。然后我希望能够从应用程序中的任何位置访问这些信息,如下所示:

myAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
user = delegate.u;

在应用程序委托(delegate)中将实例变量设置为用户对象并在需要时从那里引用它是一种糟糕的方法吗?我通常在用户登录时将其设置在那里。

想听听专业人士如何处理这个问题。

最佳答案

通常,只有在以下情况下,您才应该将事物连接到应用委托(delegate):

  • 从与应用委托(delegate)相同的 NIB 文件创建(即单窗口界面中的静态 UI 元素)
  • 与通过应用委托(delegate)传递的应用级事件处理相关联(如首选项窗口的菜单项)

对于其他所有内容,您应该创建一个单例来管理对它们的访问。

Jason Coco 建议通过应用程序 Controller 进行路由。在我的程序中,我通常会避免这种情况,因为我认为它把太多的责任放在了顶层——我认为事情应该尽可能 self 管理,并且只有在需要同行之间的协调时才应该使用更高级别的管理——级别模块。

我不会链接我自己的博客,但如果你用 Google 搜索我和单例,你可能会发现我写的一篇更详细的帖子。

关于iPhone 正确使用 Application Delegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338734/

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