2017-06-17 32 views
1

在Android中有strings.xml,我们可以写Strings。
我想用swift做同样的事情。所以我写了一个String文件中的字符串替代strings.xml(这是在android中)IOS

//sample.String 
"name" = "Sara"; 
"family" = "Young"; 

但是我不知道如何在viewControllers中访问这些字符串。

+0

这是用于本地化吗? – Sweeper

+0

@Sweeper没有它没有。我想在一些viewCotrollers中使用“name”,我希望它被“Sara”替换 –

回答

3

有很多人是这样做的。

  • 创建一个具有静态letConstants类型:

    class Constants { 
        static let name = "Sara" 
        static let family = "Young" 
    } 
    

    您可以使用这些类似:

    someLabel.text = Constants.name 
    
  • 声明常量全球

    创建一个名为迅速文件Constants.swift并声明constan ts:

    let name = "Sara" 
    let family = "Young" 
    

    如果您使用此方法,我建议您为每个常量添加一个前缀以避免名称冲突。

  • 使用字典:

    let constantsDict = [ 
        "name": "Sara", 
        "family": "Young" 
    ] 
    

    用法:

    someLabel.text = constantsDict["name"]! 
    

    显然,编译不会检查开关是否有效或无效,如果你使用这种方法。

+0

谢谢。所以我们不能创建一个类似于Android的xml文件并将字符串放在那里? –

+0

@FattanehTalebi好吧,我们可以创建一个名为“字符串文件”的字符串,但主要用于本地化目的。有关本地化的更多信息,请参阅此处:https://medium.com/lean-localization/ios-localization-tutorial-938231f9f881 – Sweeper