2016-10-10 18 views
1

Key/Value Pairにエラーメッセージを含むローカライズされた文字列ファイルを作成しました。私はちょうどPlistのようなキーベースの値を読みたいだけです。ここでローカライズされたファイルから値を読み取る

[ErrorManager setLastErrorInPreferences:NSLocalizedString(@"SERVICE_ERROR", nil)]; 

がsetLastErrorInPreferences方法

+ (void)setLastErrorInPreferences:(id)errorString { 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSDate *now = [NSDate date]; 
    NSString *errorStringWithTime = [NSString stringWithFormat:@"On %@:\n%@", now, errorString]; 
    [prefs setObject:errorStringWithTime forKey:KlastError]; 
} 

しかし、そのあるユーザーの好みにここ

は私のローカライズされたファイル

"SERVICE_ERROR" = "Some error occurred while processing your request, Please try later"; 

の内容であり、これは、私はこの文字列を保存しています方法です働いていない。キーをそのまま保存するだけです。それはユーザーの好みにこのキーの価値を反映していません。私が何が欠けているか教えてください。

+0

ローカライズされたファイルには1行しかありません。セミコロンとすべてのキーのフォーマットの最後のセミコロンを入力したことを確認してください。表示されたエラーは、ローカライズされたファイルが無効であるために表示されます。もう一度チェックしてください –

+0

他にも多くの文字列があります。私はそれをチェックしました。すべての行があります。文字列の最後に。 –

+0

@aqsaarshad 'setLastErrorInPreferences'とクラス' ErrorManager'を表示してください。また、ファイルの名前が 'Localizable.strings'であることを確認してください。 –

答えて

0

Localizable.stringsというファイルがあるとします。他の名前は使えません。 (あなたのキーSERVICE_ERRORから削除 "" と最後でセミコロンを保つ;

SERVICE_ERROR = "Some error occurred while processing your request, Please try later"; 

"SERVICE_ERROR" = "Some error occurred while processing your request, Please try later"; 

からあなたのローカライズファイルの内容を変更し
また

setLastErrorInPreferencesさんは何をしているのですか?それがうまく働いた

使用

NSString* error = NSLocalizedString(@"SERVICE_ERROR", nil); 
NSLog(@"%@",error); 

マイファイル

enter image description here

EDIT errorValueをフェッチ

ErrorManagerクラスのメソッドをいくつか作成し、コントローラクラスでkLastErrorを使用できないようにそこからフェッチします。

NSString* yourError = [[NSUserDefaults standardUserDefaults] stringForKey:KlastError]; 
+0

引用符を付けずに試してみましたが、まだ動作していません。 –

+0

@aqsaarshadはあなたの 'setLastErrorInPreferences'コードを表示します –

+0

+(void)setLastErrorInPreferences:(id)errorString { NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults]; NSDate * now = [NSDate date]; NSString * errorStringWithTime = [NSString stringWithFormat:@ "On%@:\ n%@"、今度はerrorString]; [prefs setObject:errorStringWithTime forKey:KlastError]; } –

関連する問題