Objective c 无法将操作:连接到类NSApplication的目标
我一直收到Objective c 无法将操作:连接到类NSApplication的目标,objective-c,cocoa,Objective C,Cocoa,我一直收到无法将操作startServer:连接到类NSApplication的目标上编译时出错。我知道错误是什么,但不知道如何修复它。不知何故,我的xib试图在不存在的NSApplication中调用startServer方法 您已经在主nib中与文件所有者建立了连接,您可能打算连接到其他内容。您在中实现了什么类?听起来好像您将UI元素连接到了文件的所有者对象,该对象是NSApplication的一个实例 如果您还没有这样做,您需要将NSObject从Xcode 4中的对象库调色板拖到布局左侧
无法将操作startServer:连接到类NSApplication的目标上编译时出错。我知道错误是什么,但不知道如何修复它。不知何故,我的xib试图在不存在的NSApplication中调用startServer方法 您已经在主nib中与文件所有者建立了连接,您可能打算连接到其他内容。您在中实现了什么类?听起来好像您将UI元素连接到了文件的所有者对象,该对象是NSApplication的一个实例
如果您还没有这样做,您需要将NSObject从Xcode 4中的对象库调色板拖到布局左侧的空白处。完成此操作并选择它后,选择identity inspector,然后在类字段中输入“WindowController”
现在您已经获得了WindowController的表示,正如您所说的,它包含startServer:,然后您可以将UI元素连接到它。确保startServer方法的格式为:
- (IBAction)startServer:(id)sender
否则你将无法建立连接
祝你在努力中好运。我也遇到了同样的问题,但最终得到了解决。我不确定这是否适用于您,但请尝试以下方法:
(关于界面生成器)
从库中将NSObject拖动到“您的XIB文档”窗口。
通过将已连接到NSObject的对象断开与文件所有者的连接。
将NSObject重命名为适合的NSObject。
突出显示NSObject,转到Inspector。
在“类标识”下,搜索刚刚重命名的NSObject的名称。
救命
看看它是否适合你!它现在让我的工作!祝你好运 您可以通过两种简单的方法解决此问题:
[[YourWindowController alloc]initWithWindowNibName:XIB_YOUR_WINDOW_CONTROLLER]代码>
此处不使用所有者创建。因此,n应用程序
将不是所有者
[[YourWindowController alloc]init]代码>
在YourWindowController.m
file override init方法中,调用self=[super initWithWindowNibName:XIB_YOUR_WINDOW_CONTROLLER]代码>
1或2将解决此问题
快乐编码…startServer在我的WindowController中。mPerfect。。。我不知道我错过了这个。这为我解决了这个问题。我遗漏了(id)发送者,并将其添加到修复中。在iOS中,方法中是否没有参数并不重要;为什么它在可可中很重要?谢谢。向上投票。我不明白为什么OSX与使用NSObject的iOS开发如此不同?