3

我目前在 iPhone 应用程序中工作,使用 NSLocale 使当前货币符号正常工作,但是当我按下主页按钮时,应用程序进入后台进程并更改货币(设置>>国际>>区域格式>>像美国,印度等...)以这种方式,然后从后台打开该应用程序,货币符号未更改,但我导航到另一个屏幕,然后进入前一个屏幕,仅更改货币,但我想要从后台打开应用程序,然后是货币符号自动更改。如何解决这个问题?我需要你的帮助

谢谢

我在这里尝试了代码:

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

2 回答 2

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

谢谢。

于 2012-07-23T14:45:22.720 回答
1

以下情况如何:

[NSLocale autoupdatingCurrentLocale]

苹果文档提到

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

于 2012-07-23T14:18:52.557 回答