首页 文章

XCode创建了一个返回错误“缺少setter或实例变量”的Xib文件

提问于
浏览
0

花了整个下午和晚上尝试了解它是如何工作的,我试着在这里问我解决我的问题 .

我在XCode中创建了一个Cocoa App . 我删除了默认的MainMenu.xib文件,以便创建自己的文件 .

我现在有:

  • 名为 AppDelegate.swift 的文件,包含以下代码部分

@NSApplicationMain类AppDelegate:NSObject,NSApplicationDelegate {

  • 名为 Window.swift 的文件,代码如下:

class Window:NSWindowController {

  • 一个名为 Window.xib 的文件没有连接(插座集),因为我试图理解如何设置它所以我删除了所有已经创建的以便尝试重新创建它 .

问题是,即使我可以在 Window : NSWindowsController 类中链接一个按钮(以前用Interface Builder插入到窗口中),它也会返回错误

Failed to connect (button) outlet from (NSApplication)
to (NSButton): missing setter or instance variable

我不明白为什么,因为唯一的连接是现在定义的连接,并且没有更多可能的连接可以做(我试图链接屏幕周围的一些组件,以便看到一些锚区但没有出现) .

因此,即使有一些问题分析了这个问题,给出了用户做错了什么的答案,我也会尝试解释如何执行连接以重新创建它并了解问题所在 .

仅为了完整性,在Windows.xib中,下载文件的所有者,第一响应者或应用程序在“连接”检查器面板中显示链接 .

1 回答

  • 1

    首先,如果您是Mac和Xcode开发的新手,请遵循以下规则:在您知道它们之前不要删除它们 .

    Mac应用程序项目是很复杂的东西 - 我意味着很多相互关联的部分 .

    其中一个部分是 Info.plist 捆绑的 Info.plist 文件 . 它包含有关您的应用程序的重要信息(它创建/打开的文档类型,应用程序的版本等) . 但其中一个最重要的功能是启动您的应用程序 .

    该文件中有一些关键的信息 . 其中一些确定了应用程序的启动方式 . 具体来说, NSMainNibFile ("Main nib file base name")确定将加载以创建应用程序对象的nib文件 .

    在您创建的应用程序项目中,这将默认为滚动滚动,请 MainMenu .

    在该属性中命名的nib文件传统上包含应用程序的工作菜单(因此,其名称) . 但它也负责实例化 NSApplicationDelegate 并将该委托对象连接到 NSApplication 对象 . 如果这些东西没有应用程序 .

    我的建议是重新开始一个新项目 . 继续加入它 . 在委托或窗口控制器中定义操作,创建一些出口,创建一些视图或控制对象,然后连接它们,设置一些断点,并享受乐趣 .

    但是在你理解他们扮演什么样的角色以及如何组装应用程序之前不要删除它们,因为......它很复杂 .

相关问题