2

我在不使用 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 没有在构建结果中显示任何错误(或警告)。但是,我确实在显示日志中收到了这条消息:

2010-06-26 13:33:47.170 FooApp[283:a0f] Could not connect the action buttonPressed: to target of class NSApplication

我不知道如何解释这一点,因为谷歌在搜索此显示日志错误的解决方案时失败了。而且,据我所知,我目前没有任何行动,包括一项行动buttonPressed。附带说明:我不知道这是否相关,但我在 info.plist 中删除了 Main Window.xib 及其随附属性。

任何帮助将不胜感激。

更新:我尝试做一些printf调试(从来没有真正打扰过学习NSLog),即使printf事情是在最开始appliactionDidFinishLaunching甚至最糟糕的开始时main(如果你们中的一些人想在返回之前),事情也不会问我是把 printf 放在return语句之前还是之后)。

4

1 回答 1

2

MainWindow.xib 是 iphone App 模板的一部分,不是吗?你到底删除了什么?你还有 MainMenu.xib,对吧?

正如您所发现的,拥有 nib 文件对于 Cocoa 应用程序来说不是可选的。你必须至少有一个笔尖(或 xib,对于你的孩子),它必须有一个主菜单。

于 2010-06-27T08:40:24.630 回答