2016-08-01 2 views
0

У меня есть класс, который выводит строку, которая зависит от текущего дня. Это хорошо работает на русском языке, но, когда я переключаюсь на другой язык, это не работает. Вот как я его пишу:Проверка на недельную строку на разных языках

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"EEEE"]; 

    // Current day 

    NSString *currentDay = [dateFormatter stringFromDate:[NSDate date]]; 

    // Mon 

    if ([currentDay isEqualToString:@"понедельник"]){ 
     _mon.textColor = COLOR_BG; 
    } 

Есть ли какой-либо простой способ заставить этот код работать на других языках? Не зависит от текущего выбранного iPhone?

ответ

1

Вы сравниваете строку здесь, которая отличается для другого языка.

Итак, у вас есть перевод для каждого буднего дня, или мой рекомендуемый способ - изменить форматтер, чтобы вернуть целое число недели. Если я не ошибаюсь это е

Так будет:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"e"]; 
int current = [[dayDateFormatter stringFromDate:[NSDate date]] intValue]; 

if (currentDay == 1){ 
    _mon.textColor = COLOR_BG; 
} 
+0

как я сделать Int, которые представляют номер дня недели? –

+0

Я обновил его. Не в верхней части моей головы, может иметь некоторые ошибки. –

+0

ОК, я попробую позже, спасибо) –

Смежные вопросы