-(NSDate *)dateFromDate:(NSDate *)inDate withNewTime:(NSDateComponents *)inTimeComponents {
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *newComponents = [self.sysCalendar components:unitFlags fromDate:inDate];
[newComponents setHour:[inTimeComponents hour]];
[newComponents setMinute:[inTimeComponents minute]];
return [self.sysCalendar dateFromComponents:newComponents];
}
我想不通为什么会泄漏。这不会返回一个自动重新分配的对象吗?它按预期工作,但是当我在仪器上运行时,似乎日期对象正在泄漏,并且堆栈表明它是在此处创建的。
sysCalendar 是具有以下 getter 的属性:
-(NSCalendar *)sysCalendar {
if (sysCalendar != nil) {
return sysCalendar;
}
self.sysCalendar = [NSCalendar currentCalendar];
return sysCalendar;
}