我有:

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 的新手。知道为什么会崩溃吗?难道我做错了什么?

有帮助吗?

解决方案

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

刷上 Cocoa内存管理规则

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top