2017-10-16 9 views
0

どうすればこのように動作するはずですか?NSUserDefaultsを#defineにするにはどうすればいいですか?

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

誰かが助けてくれればいいでしょう。言語の選択によっては、別のファイルを読み込む必要があります。

+0

実行時に混在している前処理で、このようにすることはできません。実行時にそれらの間で選択できるようにするには、両方のヘッダーをインクルードする必要があります。 .hファイルで定義した内容と達成しようとしていることを説明してください。 –

+0

両方のファイルには同じ名前の定義しかありません。例えば、german.hまたはenglish.hをimplementateコンテンツファイル内 "英語" ' –

+0

@ "ドイツ"' 'english.h の#define名@' german.h の#define名は、私は意志'label.text = name'のようなものを投稿してください。そしてその名前は言語ファイルから来なければなりません。 –

答えて

0

まず、objective-cのローカリゼーションについてお読みください。ローカリゼーションは、アプリが他の言語をサポートするプロセスです。このチュートリアルは、あなたの問題を解決するのに役立ちます - >https://medium.com/lean-localization/ios-localization-tutorial-938231f9f881。 実行時には、この方法は使用できません。

関連する問題