2015-05-14 55 views
1

我有一個問題,在我的應用程序中,我有一個NSMutableArray,其中包含星期幾,有時只是星期日和星期六,有時只是星期一或星期二,我的問題是:我的數組將包含如下所示的條目:星期日和星期六用name @「Weekends」保存NSString,或者包含星期一,星期二,星期三,星期四和星期五的NSString,以保存名爲@「Weekdays」的NSString,當然什麼時候只有一天有一個帶有這種格式「星期一,星期二等」的首字母縮寫的NString。謝謝!!!NSArray with week days

+0

這些是唯一的兩個選擇嗎?它可以包含星期五和星期六嗎?或週日和週一? –

+0

我會用7個bool屬性創建class'Week':Mon,Tue等。並且使用只讀屬性'description',它返回你需要的東西。 –

+0

不會,會有更多的選項,就像你說的星期五和星期六將是格式@「星期五」的NSString;週日和週一將會是@「星期日」;依此類推...... –

回答

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; 
} 
+0

謝謝!我會在10分鐘內嘗試...... –

+0

@DanPaschevici:恩? – user623396

+0

還沒有!!! ...... –