2011-12-06 3 views
2

안녕하세요 저는 iPhone 개발에 상당히 익숙합니다. 상당히 많은 앱을 함께 사용하고 궁금한 점은 나중에 AppDelegate에 등록 된 View Controller를 앱의 시작 부분에 등록해야한다는 것입니다. 방금 필요한대로 도입 했습니까?iPhone보기 컨트롤러 등록

예를 들어, 내가 AppDelegate에 등록 할 때 나는 UINavigationController가 필요한 로그인 페이지로 시작합니다.하지만 중간 페이지를 따라 가면서 저는 입니다. 그래서 TabController를 사용하여 제 3 페이지에 소개하거나 AppDelegate에 등록 하시겠습니까? 정말 건축 모범 사례 문제 :

답변

0

음의

더 많은 귀하의 질문에 짧고 간단한 대답. iPhone 응용 프로그램은 가능한 한 최소 메모리를 사용해야합니다. 필요한 경우 View Controller를 도입하면 메모리를 덜 소비하고 모든 것을 처음부터 끝까지 열어 놓고 유지할 수 있습니다. 희망 사항이 귀하의 질문에 대한 답변입니다.

+0

, 귀하의 질문에 당신이 그렇게 다른 사람들이 더 이상 대답하지 않아도 알고,이 게시물에 "V"를 확인할 수 있습니다 응답 한 경우 응답 –

+0

주셔서 감사합니다 .. :) – stackr

6

앱이 실행되면 주 xib가로드됩니다. 앱이 기능

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

이 첫 번째 뷰 컨트롤러는 한마디로 등의 UIViewController, UITabBarController가, UINavigationController가 될 수있는 뷰 컨트롤러의 응용 프로그램 위임에 시작할 때 우리는 기본적으로 처음 VIE/뷰 컨트롤러를 제공 . 여기에서

이 응용 프로그램은,

0

일반적으로 등, 새로운/다른 뷰 컨트롤러를 (UINavigationController가의 경우)보기 컨트롤러를 밀어 모달 뷰 컨트롤러를 제시 같은 다양한 방법으로 잇달아 보여 진행할 수 있습니다 메모리를 절약하는 데 필요한 클래스 만 인스턴스화해야합니다. 코드로 뷰를 생성하는 경우 좋은 방법은 @property의 getter 메소드를 사용하여 클래스를 생성하는 것입니다.

@interface MyClass 
    @property (nonatomic, retain) UIView *myView; 
@end 

및 구현 파일 : 당신이 가진 헤더 파일이있는 경우 예를 들어,이 그것을 생성되지 않은 경우

@implementation MyClass 

@synthesize myView; 

- (UIView *)myView { 
    if (myView == nil) { 
     myView = [[MyView alloc] init]; 
     // do more initializations 
    } 
    return myView; 
} 

그런 다음 당신은 그냥, 언제라도보기에 액세스 할 수 있습니다 것입니다 예. 예. 내가 의심으로

[superView addSubView:self.myView]; 
관련 문제