2016-12-07 109 views
-1

我想这个数组列表在下周日和周一的文本对象获取并保存在另一个数组中。换句话说获取日期和星期几名称的对象都得到并保存在阵列中如何获取NSMutableArray特定对象

请帮助我该如何做到这一点。我很努力,但没有得到正确答案。

NSDateComponents *components; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 

NSDate *startDate = [dateFormat dateFromString:@"25-11-2016"]; 
NSDate *endDate = [dateFormat dateFromString:@"7-12-2016"]; 

[dateFormat setDateFormat:@"dd-MM-yyyy, EEEE"]; 

components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:startDate toDate:endDate options:0]; 

int days = [components day]; 



for (int x = 0; x <= days; x++) { 
    [mutable_ary addObject:[dateFormat stringFromDate:startDate]]; 
    NSLog(@"%@",[dateFormat stringFromDate:startDate]); 

    startDate = [startDate dateByAddingTimeInterval:(60 * 60 * 24)]; 

} 
NSLog(@"%@",mutable_ary); 

{ 
"25-11-2016, Friday", 
"26-11-2016, Saturday", 
"27-11-2016, Sunday", 
"28-11-2016, Monday", 
"29-11-2016, Tuesday", 
"30-11-2016, Wednesday", 
"01-12-2016, Thursday", 
"02-12-2016, Friday", 
"03-12-2016, Saturday", 
"04-12-2016, Sunday", 
"05-12-2016, Monday", 
"06-12-2016, Tuesday", 
"07-12-2016, Wednesday" 
} 

输出:

{ 

"27-11-2016, Sunday", 
"28-11-2016, Monday", 
"04-12-2016, Sunday", 
"05-12-2016, Monday", 
} 
+0

让我们来看看你有什么至今。 –

+0

@ElTomato请检查我更新的问题 –

+0

请发布您的代码。 – shallowThought

回答

2

试试这个:

NSMutableArray *arrList = [[NSMutableArray alloc]initWithObjects:@"25-11-2016, Friday", 
          @"26-11-2016, Saturday", 
          @"27-11-2016, Sunday", 
          @"28-11-2016, Monday", 
          @"29-11-2016, Tuesday", 
          @"30-11-2016, Wednesday", 
          @"01-12-2016, Thursday", 
          @"02-12-2016, Friday", 
          @"03-12-2016, Saturday", 
          @"04-12-2016, Sunday", 
          @"05-12-2016, Monday", 
          @"06-12-2016, Tuesday", 
          @"07-12-2016, Wednesday", nil]; 

NSMutableArray *result = [[NSMutableArray alloc]init]; 
for (id element in arrList){ 
    NSString *str = element; 
    if ([str containsString:@"Monday"] || [str containsString:@"Sunday"]){ 
     [result addObject:element]; 
    } 
} 

// print result 
NSLog(@"%@",result); 
+0

感谢您给宝贵的时间。并且非常感谢,您的帮助通过解决我的问题。我得到特定的日子。谢谢你这么多:) –

+0

你在吗?请解决我有关这个问题的更多问题。 –

0
NSArray *input = @[@"25-11-2016, Friday", 
        @"26-11-2016, Saturday", 
        @"27-11-2016, Sunday", 
        @"28-11-2016, Monday", 
        @"29-11-2016, Tuesday", 
        @"30-11-2016, Wednesday", 
        @"01-12-2016, Thursday", 
        @"02-12-2016, Friday", 
        @"03-12-2016, Saturday", 
        @"04-12-2016, Sunday", 
        @"05-12-2016, Monday", 
        @"06-12-2016, Tuesday", 
        @"07-12-2016, Wednesday"]; 

NSMutableArray *days = [NSMutableArray arrayWithArray: @[@"Sunday",@"Monday"]]; 
NSMutableArray *output = [NSMutableArray new]; 
for(NSString *day in days){ 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains %@",day]; 
          NSArray *filtered = [input filteredArrayUsingPredicate:predicate]; 
    [output addObjectsFromArray:filtered]; 
} 

NSLog(@"%@",output); 
+0

我已经使用NSMutableArray –

+0

已更新我的评论 –

+0

一个更多的错误显示波纹管:什么是arrayofDay和什么是OrignalArray –

相关问题