저는 Apple 사이트에서이를 검색했으며 스토리 보드 또는 탐색 컨트롤러를 사용하여 설명서를 찾지 못했지만 둘 중 어느 것도 사용하고 있지 않습니다. 그것은 메모리 관리에 대한 믿을 수 없을만큼 간단한 질문입니다.메인 뷰 컨트롤러 (iOS) 해제하기
완전히 빈 응용 프로그램을 만들었습니다. 내 AppDelegate의 didFinishLaunchingWithOptions 함수에서 필자가 만든 View Controller의 인스턴스를 만들고 있습니다. 내 디자인 (자체적으로 문제가 될 수 있음)은보기 컨트롤러와 뷰간에 1 : 1 관계를 유지하는 것입니다.
그래서 내 모든 응용 프로그램의 시작 메뉴는 MenuViewController.h/m에 있습니다. .H에서
:
MenuViewController *m;
하는 .m에서 : 나는 혼란 스러워요 곳
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
m = (MenuViewController *)[[MenuViewController alloc] init];
m.window = self.window;
[m doStuff]; // handful of functions, not actually called this
//[m release]; // doesn't make sense to me
return YES;
}
이다. 기본적으로 응용 프로그램 수명주기 전체에 대해이 기능을 사용하고 싶습니다. 그러나 나는 또한 현재 함수의 범위 내에서 할당 한 모든 것을 해제해야한다는 인상하에있다. 그 이상으로 필요하다면 먼저 다른 곳에 보관해야합니다. 이것은 사실이 아닌가?
내 기본적인 질문은 ...이 View Controller를 어디에서 출시해야합니까? 내가 말했던 그 밖의 것들이 쾅하는 것 같니?
왜 자동 참조 계산을 사용하지 않았습니까? (아마도 AppDelegate의 'applicationWillTerminate : application'에서 해제 할 수 있습니다) – Chris
다음보기로 이동하기 전에 해제 할 것입니다. 또한 viewDidUnload 또는 dealloc 메서드에서 – anuragbh