NSArray有工作日

时间:2015-05-14 13:31:32

标签: ios objective-c nsdate nsdateformatter

我有一个问题,在我的应用程序中,我有一个NSMutableArray,其中包含一周中的日期,有时只是星期日和星期六,有时只是星期一或星期二,我的问题是:我希望当我的数组包含时就像这样输入:星期日和星期六保存一个名为@“Weekends”的NSString,或者什么时候包含星期一,星期二,星期三,星期四,星期五以保存名为@“Weekdays”的NSString,当然还有什么时候只是一天有一个NString,首字母为“Mon,Tue等”。感谢!!!

1 个答案:

答案 0 :(得分:1)

调用此方法将数组合理化为"工作日"或"周末"如果它包含正确的日子。否则它将保持阵列完好无损。它很容易改变,使其返回一个字符串,但我会把它留给你。

- (NSArray *)rationalizeDaysOfWeek:(NSArray *)daysOfWeek
{
    if ([self array:daysOfWeek
          matchesArray:@[ @"Monday", @"Tuesday", @"Wednesday", @"Thursday", @"Friday"]]) {
        return @[ @"Weekdays" ];
    }
    if ([self array:daysOfWeek
        matchesArray:@"[ @"Saturday", @"Sunday"]]) {
        return @[ @"Weekend" ];
    }
    return daysOfWeek;
}

- (BOOL)array:(NSArray *)array1 matchesArray:(NSArray *)array2
{
    if ([array1 count] != [array2 count])
        return NO;
    for (NSString *value in array1)
        if ([array2 indexOfObject:value] == NSNotFound)
            return NO;
    return YES;
}