2012-03-22 4 views
0

저는 Mac 개발을위한 코코아를 처음 사용합니다. 현재 viewController의 뷰를 NSBox의 contentView로 표시하는 데 어려움을 겪고 있습니다. 관련 코드는 다음과 같습니다.ViewController의 뷰가 코코아 Mac에서 NSBox에 표시되지 않습니다.

// AccountsViewController.h. ManagingViewController is a custom subclass of NSViewController 
// as of Cocoa Programming for Mac. 
@interface AccountsViewController : ManagingViewController 
{ 
    LoginViewController *loginViewController; 
} 

@property (strong) IBOutlet NSBox *box; 

// Implementation 

@implementation AccountsViewController 
@synthesize box; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Initialization code here. 

     // Should display the view in the contentView(!?!) 
     loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 
     box.contentView = loginViewController.view; 
    } 

    return self; 
} 

현재 상자의 contentView에는 아무 것도 표시되지 않습니다. viewControllers 뷰를 상자 안으로 가져 오려면 어떻게해야합니까?

답변

1

문제는 init이보기를 추가/변경하기에는 너무 이르다는 것입니다. AccountsViewController에 awakeFromNib 메서드를 구현하고 거기에 내용보기를 설정합니다. 펜촉이로드되고 모든 것이 조작 될 준비가되면 awakeFromNib가 클래스에서 호출됩니다.

+0

감사합니다. – Anders

관련 문제