UserDefaults中的Swift应用程序全局变量

我正在设计一个需要2种语言翻译的应用程序。翻译是从服务器请求的。

我创建了一个结构TranslationService,用于存储所有翻译,并具有一个根据代码返回翻译后的短语的功能

struct TranslationService: Codable {
var translations: [Translation]

func getTranslation(by code: String) -> String? {
    let result = translations.filter { $0.string == code }

    return result.first?.translation
}

因此,在 AppDelegate 中启动时,我正在向服务器发出请求,以获取翻译,请求完成后,我创建了 TranslationService 并设置了翻译数组等于服务器响应数组。

接下来,我想知道两个选项中哪个更好:

选项1:传递给 rootController 并通过构造函数依赖项注入将其传播到应用程序中的各处

选项2:将其保存在 UserDefaults 中,并在每个ViewController中检索它,并在存在的情况下使用它

ccnc402 回答:UserDefaults中的Swift应用程序全局变量

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3159284.html

大家都在问