2011-05-27 20 views
0

我正在測試我的新Mac應用程序,該程序在我的兩臺MacBook Pro以及另一臺測試儀的iMac上運行良好。但是我的另外兩個測試者(都與我的測試版完全一樣,10.6.7)我的應用程序窗口在啓動時不會打開。NSWindowController showWindow在其他Mac上導致問題

在檢查它們的控制檯日誌時,我將問題縮小到了我的類MainWindowController(NSWindowController的一個子類)上的showWindow調用。

m_pMainWindowController= [[MainWindowController alloc] initWithWindowNibName:MAIN_WINDOW_NIB_NAME]; 
[m_pMainWindowController showWindow:nil]; 

的ShowWindow函數調用觸發被稱爲所有的viewController的awakeFromNib方法,而這一切似乎正常發生,但權之前的ShowWindow是返回,這個消息是從我的應用程序發送到控制檯:

-[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (2) 
-[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (2) 

我發現這個錯誤很難修復,因爲我無法在我的Mac上重現它,而且它似乎不是源自我的任何代碼。

任何有識之士將不勝感激。

回答

0

我想通了。問題出在drawRect函數中。我正在初始化字體屬性的NSDictionary,並沒有檢查是否可以加載某種字體。因此將一個nil加載到NSDictionary中。經典noob錯誤。

相關問題