Я пытаюсь написать простую функцию, используя Objective C, которая принимает объект NSDate и возвращает объект NSDate, который содержит одно и то же значение даты, но удалил любые компоненты времени с даты.
Например, если бы я должен был передать NSDate со значением '2010-10-12 09:29:34', функция вернется 2010-10-12 00:00:00.
Я использую функцию, кажется, работает правильно. Однако, когда я тестирую приложение iPhone, которое я разрабатываю с помощью инструментов, он сообщает, что в функции, которую я использую, есть утечка памяти. Взгляните на мою функцию ниже. Где происходит утечка памяти? Есть ли лучший способ достичь желаемой функциональности?
Спасибо заранее!
-(NSDate *)dateWithOutTime:(NSDate *)datDate
{
if (datDate == nil)
{
datDate = [NSDate date];
}
unsigned int intFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
components = [calendar components:intFlags fromDate:datDate];
return [calendar dateFromComponents:components];
}