Хорошо, я получил этот класс под названием событие.
У него есть свойство с именем eventDate, которое является NSDate. Я сделал метод, чтобы узнать, сколько лет прошло с даты события:
- (double)yearsSinceEvent {
double years;
// Get the system calendar
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
// Create the NSDates
NSDate *date1 = self.eventDate;
NSDate *date2 = [NSDate date];
// Get conversion to months, days, hours, minutes
unsigned int unitFlags = NSYearCalendarUnit;
NSDateComponents *conversionInfo = [sysCalendar components:unitFlags fromDate:date1 toDate:date2 options:0];
years = [conversionInfo year];
[date1 release];
[date2 release];
return years;
}
при настройке ячеек таблицы я делаю:
cell.textLabel.text = [[events objectAtIndex:indexPath.row] name];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%d year's ago", [events objectAtIndex:indexPath.row] yearsSinceEvent]];
Но это выдает эту ошибку:
*** __NSAutoreleaseFreedObject (): освобождение ранее освобожденного объекта (0x595bda0) игнорируется
Что я здесь не так делаю?
Если я не выпускаю date1 и date2, я не получаю ошибку, но метод возвращает 0 ..
Если вместо этого я использую код yearsSinceEvent в методе конфигурации ячейки и не выпускаю дату 1 и дату 2, это сработает.
Как мне это сделать?