gpt4 book ai didi

swift - 如何在Swift中使用单例进行数据共享?

转载 作者:行者123 更新时间:2023-11-30 12:55:32 25 4
gpt4 key购买 nike

我目前正在开发一个应用程序,该应用程序需要在多个 View 之间共享信息。为了简单起见,我更喜欢使用单例来达到上述目的。

我的问题是...

  1. 应该在哪里定义和初始化单例类,以便所有 View Controller 和所有其他类文件都可以使用它?
  2. 其他类应该如何引用所述单例?特定类中是否需要任何导入语句或特殊初始化?

我只想提一下,我对 @ http://krakendev.io/blog/the-right-way-to-write-a-singleton 找到的单行单例很感兴趣

这样的方法会更好。

顺便说一句:我正在 Xcode 6.2 中使用 Swift 进行开发

谢谢。

最佳答案

如果您定义了一个单例,那么它在您的目标中的任何地方都可用。所以把它放在你想要的任何地方,通常是它自己的 .swift 文件。要使用它,您只需执行以下操作,无需特殊的 import 语句:

let kraken = TheOneAndOnlyKraken.sharedInstance

顺便说一句,如果您使用的是 Xcode 6.2,它早于 Xcode 6.3 中引入的 Swift 1.2,因此您只能使用您引用的文章中的一些不太优雅的 struct 解决方案。

根据记录,使用单例来访问整个应用程序中的模型数据非常简单,但正如 rmaddy 所建议的那样,通常不鼓励这种做法。随着应用程序变得越来越复杂,它开始引入微妙的维护问题。这不是一个好习惯。诚然,这是一个有争议的话题,所以我将向您推荐What is so bad about singletons? ,而不是在这里再次开始对话。

关于swift - 如何在Swift中使用单例进行数据共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40440806/

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