如何刷新iPhone的NSLocale?(How to refresh the NSLocale i

2019-09-20 01:55发布

我目前在iPhone应用程序时,使用NSLocale得到当前的货币符号工作正常,但是当我按下home键的应用程序切换到后台进程,我改变货币(设置>>国际>> ​​Regionformat >>像美国,印度等)以这种方式,然后打开从背景下,应用程序的货币符号没有改变,但我导航到另一个屏幕则涉及到以前的屏幕只货币更改,但我希望当我打开从后台的应用程序,那么货币符号自动改变。 如何解决这一问题? 我需要你的帮助

谢谢

我试图代码在这里:

NSLocale *theLocale = [NSLocale currentLocale];
Getdollarsymbol = [theLocale objectForKey:NSLocaleCurrencySymbol];
NSString *Code = [theLocale objectForKey:NSLocaleCurrencyCode];

Answer 1:

请试试这个代码。 让我知道这是工作,

-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);
}

谢谢。



Answer 2:

怎么样以下几点:

[NSLocale autoupdatingCurrentLocale]

苹果文档中提到

对象始终反映当前用户的区域设置的当前状态。



文章来源: How to refresh the NSLocale in iPhone?