2011-02-27 3 views
1

제가 글을 쓰는지 여부를 알고 싶었습니다. 아이폰 기술로 4 개월 동안 일해 왔으며 loadView 메소드에서 작성한 유일한 코드입니다. viewController 클래스의 현재 인스턴스에 버튼, 레이블 등을 추가하여 뷰 속성을 사용할 때 모든 뷰가 윈도우에 추가됩니다. 그러나 라인의 조각 정말 버그 날 내가 사랑하는 사이트에서 알게 된이 모든 방법의 사용은 그건 "나는이 방법을 사용하지 않는 경우 내 응용 프로그램이 충돌합니다"즉 무엇[super loadView] 라인의 사용법은 무엇입니까

 
[super loadView]; 

입니다 내가 찾고있는 이유가 아니기 때문에이 줄이 UIView의 검은 인스턴스를 제공 할 수있는 가상 개념을 만든 다음 모든 뷰

[self.view addSubView:btn];
을이 줄에서 제공하는보기에 추가합니다.

제가 알기를 원하는 것은 내가 옳고 그른가하는 것입니다. 저는

[super loadView];
라인이 누군가가 저에게 자세한 설명을 주거나 제가이 개념을 참조 할 수있는 곳에서 링크를 제공 할 수 있다고 생각합니다.

답변

-1

super 키워드는이 메소드의 수퍼 클래스 구현을 호출합니다. 그래서 당신은 아마도 돈을 가지고 있습니다 (나는 객관적으로 - C를하지 않습니다). 그리고이 호출은 당신이 당신의 앱을 보여줄 필요가있는 모든 것을 초기화합니다.

+0

이 질문에 대답하지 않습니다. 또한 Objective C를하지 않으면 왜 Objective C 질문에 대한 답변을 게시합니까? –

11

-loadView는 뷰가 실제로 필요할 때 뷰 컨트롤러에 의해 호출됩니다. IB가 아닌 수동으로보기를 작성하는 경우 구현하십시오. 이 메서드가 완료 될 때까지 뷰 속성에 할당 된 뷰가 있는지 확인해야합니다. 직접 [super loadView] 또는 [self loadView]를 호출하지 마십시오!

공식 문서 : "이 메서드의 사용자 지정 구현은 super를 호출하면 안됩니다."

http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/loadView

관련 문제