Вы вообще не должны выпускать components
, поскольку для него установлен автоматический выпуск объекта NSCalendar
.
Я подозреваю, что ваша утечка исходит от вашего NSDate
объекта, который вы передаете этой строке кода. Возможно, вам следует присвоить это локальной переменной, передать ее методу [cal components]
, а затем освободить локальную переменную:
NSDate *today = [[NSDate alloc] init];
NSDateComponents *components = [cal components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit )
fromDate:today];
[today release];
Или, установить сам объект NSDate
на автоматическое высвобождение при передаче его, как вы делаете, использовать [NSDate date]
, который, как прокомментировал Дэвид Гелхар, сгенерирует объект автоматического освобождения, например: *
NSDateComponents *components = [cal components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit )
fromDate:[NSDate date]];