addObject для NSMutableArray не работает - PullRequest
0 голосов
/ 14 декабря 2011

Короче говоря, я хочу, чтобы мои tableView показывали события (например, футбольные матчи), которые происходят сегодня. Поэтому я хочу добавить те словари, которые соответствуют NSMutableArray, используя addObject. Я пробовал это с этим кодом, но NSMutableArray ничего не показывает:

self.Array = [NSMutableArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"matches" ofType:@"plist"]];

matchesToday = [[NSMutableArray alloc] init];
match = [[NSMutableDictionary alloc] init];

for  (int i=0; i<[Array count]; i++) {
        NSDate *datum = [[Array objectAtIndex:i] objectForKey:@"date"];
        NSCalendar *cal = [NSCalendar currentCalendar];
        NSDateComponents *components = [cal components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];
        NSDate *today = [cal dateFromComponents:components];
        components = [cal components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:datum];
        NSDate *otherDate = [cal dateFromComponents:components];

        if([today isEqualToDate:otherDate]) {

            //do stuff
            [matchesToday addObject:match];

        NSLog(@"%i, %@", i, otherDate);
        NSLog(@"Match is today");

    }
    else {
        NSLog(@"Match is not today");
    }
    }
NSLog(@"%@", matchesToday);
}

plist - это массив словарей, который выглядит следующим образом:

<array>
    <dict>
    <key>date</key>
    <date>2011-12-13T00:00:00Z</date>
    <key>titel</key>
    <string>Tilburg - Oss</string>
    </dict>
    <dict>
    <key>date</key>
    <date>2011-12-13T00:00:00Z</date>
    <key>titel</key>
    <string>Amsterdam - Roosendaal</string>
    </dict> 
</array>

Что я делаю не так?

1 Ответ

1 голос
/ 14 декабря 2011

Вам необходимо добавить отдельный элемент из массива в проверке даты, если выписка со следующей строкой:

[matchesToday addObject:[Array objectAtIndex:i]];

В тот момент, когда выполняется этот код, match - это просто пустой изменяемый массив.

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