检查不同语言的工作日字符串

时间:2016-08-01 11:50:25

标签: ios objective-c

我的类输出依赖于当天的字符串。它在俄语中工作得很好,但是,当我切换到另一种语言时它不起作用。这就是我写它的方式:

 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 个答案:

答案 0 :(得分:1)

您正在比较此处与其他语言不同的字符串。

因此,您要么为每个工作日语言翻译,要么我推荐的方法是更改​​格式化程序以返回一周的整数。如果我没错, e

所以它会是:

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

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