ios - 在 iOS 中使用字符串的最佳方式

标签 ios string

我是 Objective-C 编码的新手,但我来自移动开发的 Java 世界。在 Android 中,我们使用一个字符串资源,然后指向 Java 类中的那些。 iOS 中是否有我们应该使用的类似过程,或者我们是否将字符串“硬编码”到实现文件中?我还没有找到使用可本地化字符串(和 .strings)文件的好教程。

最佳答案

您可以使用 Foundation 中的 NSLocalizedString 宏来检索本地化字符串。在这里阅读: http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/

示例:构建双语(英语-法语)应用。 每当遇到要向用户显示的字符串时,请使用 NSLocalizedString 而不是实际的字符串常量。例如:

代替

self.title = @"Welcome";

使用

self.title = NSLocalizedString(@"Welcome");

在您的应用程序包中创建两个目录,如下所示:

MyApp.app
    English.lproj
        Localizable.strings
    French.lproj
        Localizable.strings

在第一个 Localizable.strings 文件中,您可以像这样编写键值对:

"Welcome" = "Welcome";

第二个:

"Welcome" = "Bienvenus";

当您将这些文件和文件夹添加到您的应用程序并使用 NSLocalizedString 宏重新编译它时,即使系统语言为法语,您也可以使用法语使用您的应用程序。

关于ios - 在 iOS 中使用字符串的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978784/

相关文章:

ios - 如何在自定义 TableViewCell 中的 UIView Tap 上禁用 didSelectRowAtIndexPath?

ios - 如何以编程方式更改标签的字体?

ios - UIStackView 未出现在容器 View 中

python - list += str 和 list += str 有什么区别,

ios - 通用链接打开错误的应用程序(Facebook 应用程序)

ios - 在 tableview 中向上滚动时 UITableViewCell 为空

python - 如何指定字符串的填充字符并将其按 block 分割?

ruby - 为什么这个值被添加到 my 变量的末尾?

python - 空格检查和 string.split 错误

javascript - 为什么 String(null) 有效?