我该如何#define if NSUserDefaults

问题描述:

我该如何制作应该像这样工作的东西。我该如何#define if NSUserDefaults

if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"lang"] isEqualToString:@"DE"]) { 
    #import "file-x.h" 
} else { 
    #import "File-y.h" 
} 

如果有人能帮忙,会不错。根据语言选择,应加载不同的文件。

+0

混合预处理与运行时,它不能这样做。必须包含这两个标题才能在运行时间之间进行选择。请描述您在.h文件中定义的内容以及您想要实现的内容... –

+0

这两个文件仅包含具有相同名称的定义。例如, 'german.h 的#define名@ “德国”' 'english.h 的#define名@ “英语”' –

+0

在谁implementate的german.h或english.h内容文件,我将发布类似'label.text = name'的内容。名字必须来自语言文件。 –

您应该首先阅读Objective-C中的本地化内容。本地化是让您的应用支持其他语言的过程。本教程可以帮助您解决您的问题 - >https://medium.com/lean-localization/ios-localization-tutorial-938231f9f881。 在运行时,您不能使用这种方式。