gpt4 book ai didi

ios - 在 swift 3 中做语言的更好方法

转载 作者:行者123 更新时间:2023-11-28 12:21:32 26 4
gpt4 key购买 nike

我目前正在开发一个具有语言更改功能的应用程序。但是,对于我希望在选择不同语言时进行更改的每个字符串,我必须实现以下代码

"Hello world".localize()

然而,随着应用程序变得越来越大,代码变得非常困惑,因为它们各自的 View Controller 中的所有字符串都附加了这个 .localize() 。

有没有一种方法可以让我在一个中心位置执行此 .localize() 操作?

编辑:我尝试创建一个 Strings.swift 文件并将所有字符串放入其中。我做了这样的事情。

static let relevantString = "hello world".localize()

然后在我调用的 View Controller 中

let myString = relevantString 

但是,这样不好。只有在我终止应用程序并重新启动它后,字符串才会改变。

最佳答案

您尝试使用 static let 未能产生您想要的动态行为,这仅仅是因为您使用了常量。您可以改用只读计算属性,例如:

var relevantString : String { return "Hello World".localize() }

作为替代方案,由于您似乎更关心困惑,您可以定义一个简单的前缀或后缀一元运算符,在其参数上调用 localize()。 Swift 允许使用多个符号作为运算符,因此运算符可以只是单个字符。例如,您可以定义 § 以便 §"Hello World" 生成本地化字符串。

HTH

关于ios - 在 swift 3 中做语言的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44649867/

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