2012-07-23 3 views
3

현재 iPhone 응용 프로그램에서 NSLocale을 사용하여 현재 통화 기호가 올바르게 작동하지만 홈 버튼을 누르면 앱이 백그라운드 프로세스로 진행되고 통화가 변경됩니다 (Setting >> International >> Regionformat >> United처럼). 국가, 인도 등 ...) 이런 식으로, 그때 배경에서 통화 기호가 변경되지 않은 응용 프로그램을 열어,하지만 다른 화면으로 이동 다음 이전 화면에만 통화 변경,하지만 내가 배경에서 응용 프로그램을 열 때, 통화 기호가 자동으로 변경됩니다. 이 문제를 해결하는 방법?iPhone에서 NSLocale을 새로 고치는 방법은 무엇입니까?

다음에 대한
NSLocale *theLocale = [NSLocale currentLocale]; 
Getdollarsymbol = [theLocale objectForKey:NSLocaleCurrencySymbol]; 
NSString *Code = [theLocale objectForKey:NSLocaleCurrencyCode]; 
+0

이것은 방금 놓아 둘 수있는 내용 일 수 있습니다. 실제 사용자가 한 번 이상 자신의 지역을 변경하는 가능성은 희박합니다. 즉, viewDidLoad 또는 viewWillAppear에서이 코드를 실행하고 있습니까? 내가 backgrounding와 거기에 차이가있을 수 있습니다 기억하는 것 같습니다. 그것에 대해 잘못 될 수 있습니다. –

+0

회신에 감사드립니다 – SampathKumar

답변

9

이 코드를 사용해보십시오. 그리고

-viewDidLoad:에서 라인을 추가,이 작동하는지 알려주세요 : 다음

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshCurrencySymbol) name:NSCurrentLocaleDidChangeNotification object:nil]; 

:

-(void) refreshCurrencySymbol 
{ 
    NSLocale *theLocale = [NSLocale currentLocale]; 
    NSString *symbol = [theLocale objectForKey:NSLocaleCurrencySymbol]; 
    NSLog(@"Symbol : %@",symbol); 
    NSString *code = [theLocale objectForKey:NSLocaleCurrencyCode]; 
    NSLog(@"Code : %@",code); 
} 

감사합니다.

+0

감사합니다. 나는 그것이 당신을 위해 일하고 있기를 바랍니다. –

+0

각 addObserver가 동일한 removeObserver와 일치하는지 확인하십시오 –

1

무엇을 :

[NSLocale autoupdatingCurrentLocale] 

Apple docs

을 언급 객체는 항상 반영 나는 당신의 도움을 내가 여기에 코드를 시도

감사 필요 현재의 현재 사용자의 로켈 설정 상태

+0

답장을 보내 주셔서 감사합니다 – SampathKumar

+0

이제 해보십시오. – SampathKumar

+0

다시 동일한 문제가 발생합니다. – SampathKumar