【发布时间】:2011-08-30 20:27:46
【问题描述】:
我必须在下面这段代码中释放 NSDate 吗?
(也就是说,它只是在一个方法中创建为我不必担心的局部变量)
我问的原因是当我运行 XCode Profiler 并单击内存跳跃的一个点时,它突出显示了这段代码(即下面附加代码中的第一行)-即我正在查看探查器中的“泄漏块”表..
-(NSDate *) dateBySettingHour:(NSInteger)hour andMinute:(NSInteger)minute {
// Get Calendar for Existing Date
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDateComponents *components = [gregorian components: NSUIntegerMax fromDate: self];
// Set Hour and Minute
[components setHour: hour];
[components setMinute: minute];
[components setSecond: 00];
// Create resultant Date
NSDate *newDate = [gregorian dateFromComponents: components]; // WHERE THE PROFILE HIGHLIGHTS
// Clean Up
[gregorian release];
return newDate;
}
【问题讨论】:
标签: iphone memory-management memory-leaks profiling nsdate