Ios 在swift 3中学习语言的更好方法

Ios 在swift 3中学习语言的更好方法,ios,swift,Ios,Swift,我目前正在开发一款具有语言更改功能的应用程序。但是,对于我希望在选择不同语言时对其进行更改的每个字符串,我必须实现以下代码 "Hello world".localize() 然而,随着应用程序变得越来越大,代码变得非常混乱,因为它们各自的视图控制器中的所有字符串都有这个 有没有一种方法可以做到这一点。将()东西本地化到一个中心位置 编辑:我试图创建一个Strings.swift文件,并将所有字符串放入其中。我做了这样的事 static let relevantString = "hello w

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

"Hello world".localize()
然而,随着应用程序变得越来越大,代码变得非常混乱,因为它们各自的视图控制器中的所有字符串都有这个

有没有一种方法可以做到这一点。将()东西本地化到一个中心位置

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

static let relevantString = "hello world".localize()
然后在视图控制器中,我调用

let myString = relevantString 

然而,这并不好。只有在我终止并重新启动应用程序后,字符串才会更改

尝试使用
static let
无法产生所需的动态行为,因为您使用了常量。您可以使用只读计算属性,例如:

var relevantString : String { return "Hello World".localize() }
另一种选择是,由于您似乎更关心杂波,您可以定义一个简单的前缀或后缀一元运算符,该运算符在其参数上调用
localize()
。Swift允许多个符号用作运算符,因此运算符只能是单个字符。例如,您可以定义,例如,
§
,以便
§“Hello World”
生成一个本地化字符串


HTH

您尝试使用
静态let
无法产生您想要的动态行为,因为您使用了常量。您可以使用只读计算属性,例如:

var relevantString : String { return "Hello World".localize() }
另一种选择是,由于您似乎更关心杂波,您可以定义一个简单的前缀或后缀一元运算符,该运算符在其参数上调用
localize()
。Swift允许多个符号用作运算符,因此运算符只能是单个字符。例如,您可以定义,例如,
§
,以便
§“Hello World”
生成一个本地化字符串


HTH

你看过苹果的吗?@Martinar看看这个图书馆。一定比习惯的方式好。。我个人认为,从故事板中获取所有字符串,并在用户更改语言时对其进行本地更改,是处理语言的更好方法。
“Hello world”。localize()
是最简单的代码。没有选择。@progammingBeignner我看过了。我总是想知道“更快捷的语法”对于基本上是一个函数调用的东西意味着什么。他们做的第一件事是删除在本地化过程中非常重要的评论。你看过苹果的吗?@MartinR看看这个库。一定比习惯的方式好。。我个人认为,从故事板中获取所有字符串,并在用户更改语言时对其进行本地更改,是处理语言的更好方法。
“Hello world”。localize()
是最简单的代码。没有选择。@progammingBeignner我看过了。我总是想知道“更快捷的语法”对于基本上是一个函数调用的东西意味着什么。他们做的第一件事是删除在本地化过程中非常重要的注释。