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

时间:2012-01-23 21:23:02

标签: ios string

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

2 个答案:

答案 0 :(得分:6)

您可以使用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宏重新编译它,当系统语言为法语时,您也可以使用法语使用您的应用程序。

答案 1 :(得分:2)

当然,有办法做到这一点。

在这里查看Apple文档 - http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html

真的没有那么多。虽然我倾向于硬编码很多字符串,但它绝对值得花时间学习字符串资源,因为它是国际化的基础。