У меня проблемы с устранением утечки, обнаруженной приборами. Я пытаюсь уменьшить дату в цикле, используя метод dateByAddingComponents:toDate:options:
, равный NSCalendar
, и у меня постоянно возникают утечки NSDate
объектов (49, если быть точным).
Вот как выглядит мой код:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
// Get current date
NSDate *date = [NSDate date];
// Create an NSDateComponents object that will be used to decrement the date
NSDateComponents *decStep = [[NSDateComponents alloc] init];
[decStep setDay:-1];
for (NSUInteger i = 49; i >= 0 ; i--)
{
// Insert the date object in an array
[self.fooArray insertObject:date atIndex:0];
// Decrement the date
date = [gregorian dateByAddingComponents:decStep toDate:date options:0];
}
// Release calendar and date components objects
[decStep release];
[gregorian release];
Я пытался исправить эту утечку несколькими различными способами, но, поскольку я не понимаю, почему она протекает, я действительно понятия не имею, что я делаю. Есть ли у вас какие-либо подсказки, которые помогут мне решить эту проблему, зная, что я бы предпочел не использовать NSAutoreleasePool
?