Приложение, которое я создаю, теперь имеет возможность «загружать» текстовые файлы и получать оттуда числа.В симуляторе все работает отлично, но когда я тестировал его на устройстве, он просто падал.Через некоторое время я понял, что проблема была с десятичными разделителями.В этом файле я использовал .
, а локальные настройки моего iPhone требуют ,
.Пример этой строки:
Product 1;100.00
Product 2;82.85
Product 3;95.12
//etc...
После изменения первых нескольких .
на ,
я мог успешно запустить приложение, пока оно не достигло первых .
, так что это проблема.
Я могу легко заменить все .
на ,
программно, НО Я хочу, чтобы это приложение работало в любой стране с любым числовым форматом и не ограничивало его каким-либо конкретным рынком.
Код, который я использовал для получения этих чисел:
NSString *fileContents = [[NSUserDefaults standardUserDefaults]objectForKey:theKey];
NSArray *allLinedStrings = [fileContents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSMutableArray *allStringNormalized = [NSMutableArray array];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
for (int i = 0; i < allLinedStrings.count; i++) {
NSString *bla = [allLinedStrings objectAtIndex:i];
NSArray *bla1 = [bla componentsSeparatedByString:@";"];
[allStringNormalized addObject:[formatter numberFromString:[bla1 objectAtIndex:1]]];
}
self.values = [NSArray arrayWithArray:allStringNormalized];
Буду признателен за любую помощь.
Спасибо:)