How i can get currency symbol by currency code when device in any Locale?
I try use something like this:
- (NSLocale *)priv_findLocaleByCurrencyCode:(NSString *)currencyCode
{
    NSArray *locales = [NSLocale availableLocaleIdentifiers];
    NSLocale *locale = nil;
    for (NSString *localeId in locales) {
        locale = [[NSLocale alloc] initWithLocaleIdentifier:localeId];
        NSString *code = [locale objectForKey:NSLocaleCurrencyCode];
        if ([code isEqualToString:currencyCode])
            break;
        else
            locale = nil;
    }
    return locale;
}
- (NSString *)findCurrencySymbolByCode:(NSString *)currencyCode
{
    NSNumberFormatter *fmtr = [[NSNumberFormatter alloc] init];
    NSLocale *locale = [self priv_findLocaleByCurrencyCode:currencyCode];
    NSString *currencySymbol;
    if (locale)
        [fmtr setLocale:locale];
    [fmtr setNumberStyle:NSNumberFormatterCurrencyStyle];
    currencySymbol = [fmtr currencySymbol];
    return currencySymbol;
}
Example:
[self findCurrencySymbolByCode:@"PLN"];
But if i in Russian locale, and try to find symbol for currency code PLN i get - PLN, instead of "zl" symbol. Because NSLocale have two locale for PL - en_PL and pl_PL, and i did't know how to check not wrong.
May be some another path to make this?
 
    