【发布时间】:2011-11-16 04:39:06
【问题描述】:
我正在使用我的第一个大型应用程序,但这里的内存管理有点问题。
-(id) dateFormatter:(id)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
if([date isKindOfClass:[NSString class]])
return [dateFormatter dateFromString:date];
else
return [dateFormatter stringFromDate:date];
}
现在,如我所见,此示例中的每个返回都需要在末尾自动释放。但是当我添加自动释放时,我得到一个 EXC_BAD_ACCESS 错误,没有它,一切都很好。我分析了问题,发现函数中的autorelease太多了,但是没有它我看不到如何释放NSDateFormatter的内存。
谁能解释一下?
【问题讨论】:
标签: ios objective-c cocoa-touch memory-management