NSWindow vs ViewController - OS X - Cocoa

Sup*_*off 1 macos xcode cocoa nswindow nsviewcontroller

我一直在制作iOS应用程序已经有一段时间了,我决定我也想开始为Mac制作一些这些应用程序.

我的问题是:有没有需要一个NSWindow,现在开发的Mac与iOS非常相似?

所以我使用Xcode创建了一个简单的cocoa应用程序,它带有一个名为"Main"的故事板,就像在iOS上一样.

在该storyboard文件中,有一个NSWindow,然后链接到NSViewController.

我可以摆脱那个NSWindow吗?当我尝试将NSViewController设置为"初始控制器"时,应用程序仍能正常工作.那么NSWindow的意义何在?

还有什么课程链接到NSWindow?我试图模糊NSWindow的背景,但我无法将代码链接到NSWindow.

对不起我的愚蠢问题,但我对OS X的开发完全不熟悉.

谢谢你的时间,丹.

Mac*_*erT 5

在一个问题中有很多问题:

  1. 我可以摆脱NSwindow吗?不,你需要一个窗口来显示你的观点.
  2. NSWindow有什么意义?需要NSWindow作为显示视图的窗口,并且您的事件在响应者链中上升.
  3. 什么课程与NSWindow有关?很明显是NSWindow课程,但这不是你想知道的.我想你想知道控制NSWindow的代表.这是NSWindowController,虽然对于MainMenu.xib,它是NSAppDelegate.

希望这能为您提供所需的答案.在这个问题中给出了在窗口中处理视图的示例.

请参阅windows编程指南的详细信息,该指南指出:

NSWindow类定义管理和协调应用程序在屏幕上显示的窗口的对象.单个NSWindow对象最多对应一个屏幕窗口.NSWindow对象的两个主要功能是提供一个可以放置NSView对象的区域,并接受和分发用户通过鼠标和键盘操作发起的事件到适当的视图.