awakeFromNib方法调用多次 [英] awakeFromNib method called multiple times
问题描述
在我NSPersistenDocument基于项目我有一个这样的结构
In my NSPersistenDocument based project i have a structure like this
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是谁管理的ResourceView和管理他们的数据的viewController的一个实例。
basically, myResourceViewController is an instance of a viewController who manage resourceView and manage their data.
在myDocument中的awakeFromNib方法,我有以下code
in awakeFromNib method of myDocument i have the following code
- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
...
[leftBar addSubview:resourceViewController.view]; //i add resourceViewController's view
resourceViewController.view.frame = leftBar.bounds;
...
}
在myResourceViewController awakeFromNib方法我有:
in myResourceViewController awakeFromNib methods i have:
-(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中创建。我不使用NSNib加载方式随处可见。
the NSLog say that awakeFromNib, of the same instance of myResourceViewController, is called 4 time, i don't understand why. My only ResourceViewController is created in myDocument xib. I don't use NSNib loading methods everywhere.
推荐答案
我找到了解决办法。 awakeFromNib
被称为每次 NSTableCellView
是 NSOutlineView
创建
I found the solution. awakeFromNib
is called every time a NSTableCellView
is created by NSOutlineView
.
这篇关于awakeFromNib方法调用多次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!