извлечение пар ключ / значение из NSDictionary приводит к неверным данным, а также к краху - PullRequest
0 голосов
/ 18 января 2012

мой словарь содержит две пары значений ключа дата / текст .. здесь дата также находится в строковом формате, теперь я извлекаю ключи и значения и передаю ее другой функции ... следующим образом

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.timeStyle = NSDateFormatterNoStyle;

    dateFormatter.dateFormat = @"dd-MMM-yyyy";     

        keys   = [Dictionary allKeys];
        values = [m_dateNoteDict allValues];

        for(int i = 0 ; i<[keys count]; i++)
        {            
            NSString *notes   = [values objectAtIndex:i];
            NSDate *noteDate  = [dateFormatter dateFromString:[keys objectAtIndex:i]];


            NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
            NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit)fromDate:[self getCurrentDate]];

            NSInteger year  = [weekdayComponents year];


            [gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
            NSDateComponents *timeZoneComps=[[NSDateComponents alloc] init];

            [timeZoneComps setYear:year];
            [timeZoneComps setHour:00];
            [timeZoneComps setMinute:00];
            [timeZoneComps setSecond:01];

            noteDate =[gregorian dateFromComponents:timeZoneComps];         

            [self saveNotes:0 :noteDate :notes];//passing the date to this function
            NSLog(@"dates:%@",noteDate);
        } 

мой словарь содержит две даты, то есть 1 января и 3 января. Но каждый раз, когда я повторяю цикл, пропускается только первый январь, а третий не пропускается. Итак, друзья, пожалуйста, помогите мне понять, где Я иду не так .. и иногда его падение ..

С уважением Ранджит

1 Ответ

1 голос
/ 18 января 2012

Я думаю, что вместо

keys = [Dictionary allKeys];

вы хотели использовать:

keys = [m_dateNoteDict allKeys];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...