0

我正在测试我的新 Mac 应用程序,该应用程序在我的两台 MacBook Pro 和另一台测试人员的 iMac 上运行良好。但是对于我的另外两个 beta 测试人员(都具有与我完全相同的 osx,10.6.7),我的应用程序窗口不会在启动时打开。

在检查他们的控制台日志后,我将问题缩小到我的 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 上重现它,而且它似乎不是源自我的任何代码。

任何见解将不胜感激。

4

1 回答 1

0

我想到了。问题出在 drawRect 函数中。我正在为字体属性初始化一个 NSDictionary,并没有检查是否可以加载某个字体。因此将 nil 加载到 NSDictionary 中。经典的菜鸟错误。

于 2011-05-29T07:33:23.233 回答