метод awakeFromNib вызывается несколько раз

В моем проекте, основанном на NSPersistenDocument, у меня есть такая структура

myDocument (NSPersistentDocument) -> myDocument.xib (windows xib)
                                           |
                                           |-> view (the self.view) --> ... "other view"
                                           |
                                           |-> some NSArrayController 
                                           |
                                           |-> myResourceViewController --> myResourceViewController.xib
                                                                                          |
                                                                                          |-> view (the self.view)
                                                                                          |
                                                                                          |-> myTreeController (a NSTreeController subclass)

в основном myResourceViewController - это экземпляр viewController, который управляет resourceView и управляет своими данными.

в методе awakeFromNib myDocument у меня есть следующий код

- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
    ...
    [leftBar addSubview:resourceViewController.view]; //i add resourceViewController's view 
    resourceViewController.view.frame = leftBar.bounds;
    ...
}

в моих методах awakeFromNib myResourceViewController:

-(void)awakeFromNib;
{
    NSLog(@"%@", [self description]);

    [removeButton bind:@"enabled" toObject:resourceTreeController withKeyPath:@"selection" options:[NSDictionary dictionaryWithObject:NSIsNotNilTransformerName forKey:NSValueTransformerNameBindingOption]];

    NSArray *draggedTypes = [NSArray arrayWithObjects:ResourceURIPasteBoardType, nil];
    [resourceOutlineView registerForDraggedTypes:draggedTypes];
}

NSLog сообщает, что awakeFromNib того же экземпляра myResourceViewController вызывается 4 раза, я не понимаю, почему . Мой единственный ResourceViewController создан в myDocument xib. Я не везде использую методы загрузки NSNib.

12
задан Luca Bartoletti 17 August 2011 в 15:34
поделиться