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

标签 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 选择的语言?

最佳答案

您在这里比较的字符串对于另一种语言是不同的。

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

所以会是:

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

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

关于ios - 检查不同语言的工作日字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698135/

相关文章:

iphone - iPhone 中 url 的正则表达式

iphone - 检测设备的最佳方法是iPhone 5

循环中的Objective-c addObject导致内存泄漏

objective-c - iOS:NSUserDefaults 和 UIImageViews

objective-c - 诊断和仪器中都缺少 Zombie 选项

ios - Swift 中的泛型和 EXC_BAD_ACCESS

ios - "[NSBigMutableString substringWithRange:]: Range {0, 10} out of bounds; string length 9"撤消错误

ios - NSFetchedResultsController 提供 TableView ,同时同一持久存储的后台更新导致死锁

objective-c - 如何在 OSX 上使用 CNContactViewController 显示 CNContact

objective-c - 追踪执行executeFetchRequest时导致卡住的 block /死锁