2016-10-10 3 views
1

키/값 쌍에 오류 메시지가 포함 된 현지화 된 문자열 파일을 만들었습니다. 난 그냥 Plist처럼 핵심 기반에서 가치를 읽고 싶습니다. 여기현지화 된 파일 iOS에서 값 읽기

내 지역화 파일

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

을의 내용입니다 그리고 이것은 내가 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]; 
} 

그러나 그것을 사용자 환경 설정 여기

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

에서이 문자열을한다 저장하고 어떻게 작동 안함. 그대로 키를 저장합니다. 그것은 사용자 환경 설정에서이 키의 가치를 반영하지 않습니다. 친절하게 내가 빠진 것을 알려주십시오.

+0

은 현지화 된 파일에 한 줄 밖에 없습니다. 마지막 세미콜론과 모든 키의 형식을 입력했는지 확인하십시오. 표시되는 오류는 일반적으로 현지화되지 않은 파일로 인해 나타납니다. 그래서 다시 확인하십시오 –

+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

편집

errorValue을 가져오고 있습니다. 컨트롤러 클래스에서 kLastError을 사용할 수 없으므로 ErrorManager 클래스에서 일부 메서드를 만들고 거기에서 가져옵니다.

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]; } –