-(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;
}