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

ben*_*eel 2 string ios

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

小智 6

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

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

代替

self.title = @"Welcome";
Run Code Online (Sandbox Code Playgroud)

使用

self.title = NSLocalizedString(@"Welcome");
Run Code Online (Sandbox Code Playgroud)

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

MyApp.app
    English.lproj
        Localizable.strings
    French.lproj
        Localizable.strings
Run Code Online (Sandbox Code Playgroud)

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

"Welcome" = "Welcome";
Run Code Online (Sandbox Code Playgroud)

在第二个:

"Welcome" = "Bienvenus";
Run Code Online (Sandbox Code Playgroud)

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