-(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];
}
I can’t figure why this would leak. Would this not return an autoreased object? It works as intended, but when I run on instruments, it appears that a date object is leaking and the stack indicates it is created here.
sysCalendar is a property with the following getter:
-(NSCalendar *)sysCalendar {
if (sysCalendar != nil) {
return sysCalendar;
}
self.sysCalendar = [NSCalendar currentCalendar];
return sysCalendar;
}
When Instruments shows you where a leak occurs, it is actually showing you where the leaked object is created.
In this case it seems that the object created here is not being properly released elsewhere.