2012-07-25 1 views
0

- (id)initWithNibName:bundle:을 사용하여 UIViewController가 인스턴스화되면 번들을 전달할 수 있습니다.UIViewController에 사용되는 NSBundle 알아 내기

인스턴스화 된보기 컨트롤러가 원래 번들이 무엇인지 알아낼 방법이 있습니까?

컨테이너 UIViewController 있고 부모가 만들어진 동일한 번들을 사용하여 해당 자식 UIViewController 인스턴스화하고 싶습니다. 번들을 ivar로 저장하는 것 외에도 다른 방법이 있습니까?

ContainerViewController *pvc = [[ContainerViewController alloc] 
initWithNibName:nil bundle:[NSBundle mainBundle]]; 

// inside ContainerViewController: 
ChildViewController *cvc = [[ChildViewController alloc] 
initWithNibName:nil bundle:parentBundle]; 

답변

0

UIViewController은 당신이 찾고있는 것을 포함하는 nibBundle라는 속성이 있습니다 :

UIViewController class reference:

nibBundle
반환 존재하는 경우 수신기의 펜촉 번들의 이름을. (읽기 전용)

@property(nonatomic, readonly, retain) NSBundle *nibBundle

가용성
아이폰 OS 2.0에서 사용 가능 이후.
는 사용할 수,
- initWithNibName:bundle:
@property nibName

그래서
UIViewController.h에서 선언 된 항목 :

ChildViewController *cvc = [[ChildViewController alloc] initWithNibName:nil bundle:self.nibBundle]; 
+1

감사합니다 - 어떻게 든에 nibBundle 속성을 놓친 UIViewController 클래스 –