1

我有:

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];

我试过删除“做某事..部分”,只是做了一个获取和释放,它仍然崩溃。如果我只是注释掉 [dc release] 部分,一切正常。

我是 Obj-C 的新手。知道为什么会崩溃吗?难道我做错了什么?

4

1 回答 1

4

你不应该释放dc。它不是来自 alloc、new 或副本。

复习Cocoa 内存管理规则

于 2009-10-08T16:47:10.393 回答