프로그래밍 방식으로 내 View Controller의 loadView 메서드에서 뷰를 만듭니다. 다음과 같이UIViewController loadView 메서드 - alloca 객체의 범위
- (무효)에는 loadView {
HPSFormView* viewForThisController = [ [ HPSFormView alloc ] initWithFrame:CGRectZero ] ; viewForThisController.controller = self; // Set a reference back to this controller so the View knows who to delegate stuff to when > adding controls self.view = viewForThisController; // Set the view for this controller to be the main menu view
}
을 내가보기 컨트롤러와 뷰의 세 가지 다른 쌍에 대한이 기술을 따르십시오. UINavigationController 스택에보기 컨트롤러를 밀고있다. 각보기에는 푸시를 사용하는 버튼이 있습니다. 다음과 같이 :
-(void)buttonTapped:(id)sender {
HPSFormController* formVC = [ [ HPSFormController alloc ] initWithNibName:nil bundle:nil ];
[(UINavigationController*) self.view.window.rootViewController pushViewController:formVC animated:YES];
}
viewDidLoad에는 코드가 없습니다. 실제로 뷰 컨트롤러에는 전혀 없습니다.
모든 것이 잘 작동하지만 iOS 시뮬레이터 내에서 Simulate Memory Warning을 실행하면 앱이 다운됩니다. 로드 뷰 내에서 내 뷰를 '로컬'변수로 정의하는 방식에 문제가 있다고 생각합니다.
사람은 내에는 loadView가 좋아 보이는, 또는 등 유효하지 않은 참조
많은 감사를 피하기 위해 다른에는 loadView를 정의 할 필요가 있는지 여부를 말해 줄 수 없습니다.