2016-12-07 4 views
-1

Я хочу, чтобы этот список массивов ниже. Текстовый объект Sunday and Monday text получает и сохраняет в другом массиве. другие слова Получить объект с датой и названием дня недели оба получить и сохранить в массивеКак получить конкретные объекты 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

Спасибо, что дали свое драгоценное время. и большое спасибо, ваша помощь помогает решить мою проблему. Я получаю конкретные дни. thankyou so much :) –

+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 –

Смежные вопросы