【问题标题】:User info. Use singleton class or not?用户信息。是否使用单例类?
【发布时间】:2023-04-08 07:49:01
【问题描述】:

我的应用将由一位用户使用。但是,会有很多与用户相关的信息。所以我有一个名为 User.h/.m 的类和@property 许多字段。由于只有一个用户会使用手机,因此将使用该类创建一个 one 实例。

我的问题是,

1.我应该为这个类采用单例设计模式吗?我不想通过不同的视图控制器一次又一次地实例化这个类。

  1. 我正在使用核心数据保存有关此类的所有信息。话虽如此,这是否会迫使人们更多地使用单例?

  2. 单例设计模式是要走的路吗?还是应该使用外部 json 文件或 plist?

谢谢

【问题讨论】:

  • 单例设计将起作用。但作为附加组件,您应该处理后台模式。就像当应用程序进入后台时,将类用户的所有字段数据保存到 json 中并将其保存在文件中的某个位置。当您再次打开应用程序时,再次从该 json 文件初始化用户类。
  • #1 : 如果你单例,所有的视图都是一样的。如果您修改 1 个视图,它将反映在其他视图中。
  • @iOSWeblineindia,非常感谢。我明白了。
  • @user966379,谢谢。我想从人们的意见来看,单例是要走的路。

标签: ios design-patterns core-data singleton application-singleton


【解决方案1】:

就像@iOS Weblineindia 所说,Singleton 可以很好地完成这项工作。但如果你从不同的方向思考,也许不会。您是否考虑过您的 User obj 可以拥有多个 Google(假设)帐户?您的应用将如何与此类社交帐户互动和处理?

这是真正的用例场景 - 我在工作时有一个帐户(邮件、服务、驱动器等),而当我不在办公室时,我有一个帐户。我希望他们保持分开。我自己现在也处于这样的位置。

如果你有更多关于User 类逻辑的信息,也许会很容易回答。

【讨论】:

  • 感谢您的意见。我很感激。关于您关于使用不同 ID(corp、pers)登录的用户的观点,这不是我正在尝试构建的应用程序的性质。这都是个人的。感谢您的意见。
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 2013-08-22
  • 1970-01-01
相关资源
最近更新 更多