我正面臨着這個奇怪的問題,我不確定哪裏出錯了。視圖控制器調用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