Я пытаюсь устранить утечки памяти и другие проблемы в существующем приложении для iPhone.Я немного новичок в Objective C, но у меня есть некоторые хорошие основы программирования и общее понимание управления памятью, которое требуется при разработке приложений для iphone.Мой вопрос о следующем методе, приведенном ниже.
-(NSDate *)formatDate:(id)value{
NSLog(@"eja: DetailViewController/ formatDate()");
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];
[dateFormatter release];
return [dateFormatter dateFromString:value];
}
Возвращается сообщение об ошибке « Объект с отсчетом ссылок используется после его освобождения ».Я вижу, что dateFormatter освобождается перед его возвращением / использованием.Проблема, конечно, в том, что если вы поместите выпуск после оператора return, вы получите ошибку «Потенциальная утечка объекта», связанную с объявлением var dateFormatter.
Я также пытался "autorelease"
return [[dateFormatter dateFromString:value] autorelease];
Но затем я получаю сообщение об ошибке ' Объект отправлен - авто-релиз слишком много раз '.
AnyНесколько советов о том, как правильно написать это, чтобы правильно управлять переменными?