WWDC 2010에서 비디오를보고 있었으며 이제 xcode 3.2의 빌드 및 분석 도구의 기능을 파헤 치기 시작했습니다. 런타임시 영향을주지 않을지라도 코딩 실수를 강조하는 훌륭한 도구입니다 (특히 나 같은 신인을 위해!).xcode 관련 질문 작성 및 분석
하지만 이해해야 할 것이 하나 있습니다.
SettingsViewController *nextController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
My_AppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.myNavController pushViewController:nextController animated:YES];
분석기 나 잠재적 메모리 누수가 말한다 :
는이 코드에 새로운 뷰 컨트롤러를 누르면. 나는 그 방식으로, NextController를 할당하지만 결코 그것을 해제하지 않는다는 것을 이해할 수있다. 하지만 출시하려고하면 앱이 다운됩니다.시뮬레이터와 물리적 장치에서 Instruments로 분석 할 때 누수가 발생하지 않습니다.
애플은이 앱을 중단 하시겠습니까, 아니면 테스트를 거치겠습니까?
제안 해 주셔서 감사합니다. 나는 그것을 테스트했고 빌드와 분석에서 잘 작동하고 처음으로 컨트롤러를 밀 때. 두 번째로 앱을 종료합니다. autorelease와 iOS는 어떻게됩니까? 내가 이해하는 것에서는 iOS에서 가비지 콜렉션이 없다는 것을 알고 있지만 어떤 곳에서는 여전히 autorelease를 참조합니다 ... – Structurer
Apple의 메모리 관리 프로그래밍 가이드를 읽는 것이 좋습니다. 나는 편리한 링크가 없지만 여기에 어떤 의견이라도 더 많은 질문에 답할 것이다. – Justin