메모리 누수 및 기존 iPhone 응용 프로그램의 다른 문제를 정리하려고합니다. 나는 Objective C에 조금 새로운 것이지만, 좋은 프로그래밍 기초와 iphone 앱을 개발할 때 필요한 메모리 관리에 대한 일반적인 이해를 가지고있다. 내 질문은 아래의 방법에 대한 것입니다.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 문 다음에 릴리스를 놓는 경우 dateFormatter var 선언과 관련된 '잠재적 인 객체 누수'오류가 발생한다는 것입니다.
은 또한 "오토 릴리즈"
return [[dateFormatter dateFromString:value] autorelease];
을 시도하지만 다음 오류 '전송 객체 - 오토 릴리즈 너무 많이'를 얻을.
올바르게 작성하여 변수를 적절하게 관리하는 방법에 대한 조언이 있으십니까? 당신이 NSDateFormatter
을 해제하기 전에
그래, 실제로 그렇습니다! 아주 간단합니다. 정말 고맙습니다. – djeddiej