我正面临着这个奇怪的问题,我不确定哪里出错了。视图控制器调用awakeFromNib两次
现状:
我有一个MainWindowController类将加载到显示正确的碎粒。 我创建了一个对象,并将其更改为IB中的MainWindowController类,并将它放在“MainWindowView”nib中。
所以基本上笔尖“MainWindowView”具有自定义视图和上侧的几个按钮,使得用户可以选择哪个视图加载和它会加载其它各个笔尖。我在IB中启动时隐藏了mainmenu,因此它只会将MainWindowView加载到其他nib文件中。
但是在调试,当我把一个NSLog的上MainWindowController的awakeFromNib,我看到在控制台它被称为两次。
在我的项目,我有一个startupController类连同MainMenu.xib用下面的代码。
startUpController.h:
#import <Cocoa/Cocoa.h>
#import "MainWindowController.h"
@interface startupController : NSObject {
MainWindowController *myWindowController;
}
@end
startUpController.m:
#import "startupController.h"
@implementation startupController
-(void)awakeFromNib {
[super init];
if(myWindowController == nil)
myWindowController = [[MainWindowController alloc] initWithWindowNibName:@"MainWindowView"];
[myWindowController showWindow:self];
}
@end
任何帮助表示赞赏。谢谢。
非常感谢泰勒,帮助删除了MainWindowController对象。我不知道我可以使用文件所有者进行连接,因此我创建了该对象。谢谢! – han 2010-11-12 00:47:23