我在尝试使用Interface Builder显示NSWindow时遇到了麻烦。窗口的初始化非常混乱,因为我更熟悉iPhone(没有相应的NSWindow)。所以我在谷歌搜索了一些代码,最终我发现了这个:
NSRect windowRect = NSMakeRect(10.0f, 10.0f, 800.0f, 600.0f);
NSWindow *window = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:( NSResizableWindowMask | NSClosableWindowMask | NSTitledWindowMask)
backing:NSBackingStoreBuffered defer:NO];
[window makeKeyAndOrderFront:nil];
所以我复制了那段代码并将其放在applicationDidFinishLaunching
中,并认为一切都会很好。但一切都不好。 Xcode没有在Build Results中显示任何错误(或警告)。但是,我确实在显示日志中收到了这条消息:
2010-06-26 13:33:47.170 FooApp[283:a0f] Could not connect the action buttonPressed: to target of class NSApplication
我不知道如何理解这一点,因为Google在搜索此显示日志错误的解决方案时失败了。而且,就我所知,我目前没有任何行动,包括buttonPressed
。作为旁注:我不知道这是否相关,但我在info.plist中删除了Main Window.xib及其附带的属性。
非常感谢任何帮助。
更新:我尝试了一些printf
调试(从来没有真正困扰过学习NSLog
)如果事情发生在{{1}的最开始,事情就不会printf
1}}甚至最差,在appliactionDidFinishLaunching
的开头(如果你有些人试图问我是否在main
陈述之前或之后放了printf),那么在返回之前。
答案 0 :(得分:2)
MainWindow.xib是iphone App模板的一部分,不是吗?你究竟删除了什么?你还有MainMenu.xib,对吗?
正如您所发现的,对于Cocoa应用程序来说,拥有一个nib文件不是可选的。你必须至少有一个笔尖(或者xib,对于你的年轻人),并且必须有一个主菜单。