ошибка после вызова TimeIntervalSinceNow на NSDate? - PullRequest
0 голосов
/ 14 марта 2011

Я использую следующий метод для определения количества дней между двумя NSDate:

- (int)daysBetweenDate:(NSDate *)start andDate:(NSDate *)end {

    NSTimeInterval lastDiff = [start timeIntervalSinceNow];
    NSTimeInterval todaysDiff = [end timeIntervalSinceNow];
    NSTimeInterval dateDiff = lastDiff - todaysDiff;

    double numOfDays = dateDiff/86400; //86400 seconds in a day

    return (int)(numOfDays + 0.5);

}

И я называю это так:

int numOfDays = [self daysBetweenDate:lastResetDay andDate:[dict objectForKey:@"nsDate"]];

Оба значения IЯ передаю NSDate

. Выше вызывается при перечислении через NSMutableArray.

И после запуска я получаю следующую ошибку:

Завершение приложения из-занеобработанное исключение 'NSInvalidArgumentException', причина: '- [UITableView timeIntervalSinceNow]: нераспознанный селектор, отправленный экземпляру 0x6818600'

1 Ответ

3 голосов
/ 14 марта 2011

В какой-то момент вы сохраняете UITableView в чем-то, предназначенном для NSDate. Выполните отладку своего кода, проверьте значения в массиве и попутно узнайте, где вы это делаете. ObjC слабо типизирован, и легко ввести неправильный тип в NSMutableArray, потому что он принимает и возвращает id.

...