0

我正在设计一个需要翻译成 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 中检索并使用它(如果存在)

4

0 回答 0