Cocoa-Touch: NSDateComponents падает при выпуске свежего экземпляра

У меня есть:

NSDate *d = [[NSDate alloc] init];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *dc = [calendar components:unitFlags fromDate:d];
// doing something with dc.day, dc.month, dc.year
[dc release];
[d release];

Я пытался удалить "делать что-то". , part ", только что получил и выпустил, и он все еще падает. Если я просто закомментирую часть [dc release], все будет работать нормально.

Я новичок в Obj-C. Есть идеи, почему происходит сбой? Я делаю что-то неправильно?

вопрос задан 8.10.2009
Prody
3404 репутация

1 ответов


  • 4 рейтинг

    Вы не должны выпускать dc. Он не исходит от alloc, new или copy.

    Уточнение правил управления памятью какао

    ответ дан nall, с репутацией 13879, 8.10.2009