如何将按钮连接到Mac OS X上的方法

时间:2010-09-24 02:11:35

标签: objective-c cocoa macos interface-builder

我习惯为iPhone编程。在那里,我会将一个按钮连接到一个动作,然后通过创建方法连接一个方法:-(IBAction) DoStuff{…}。然后我会为按钮创建一个插座,然后在Interface Builder中创建实际按钮。然后我将按钮连接到插座,然后通过单击Touch Up Inside旁边的圆圈将按钮连接到操作,然后将其拖到文件所有者并选择我的操作。

我是Mac的编程新手,所以我试图从performClick拖到我想要的文件,但它不会让我建立连接。我是否必须以编程方式执行此操作?如何让我的按钮在我的代码中触发操作?

3 个答案:

答案 0 :(得分:4)

根本区别在于iOS控件可以针对不同的事件执行多个操作,但Mac OS X控件只有一个主要操作(在某些情况下,还有其他一些可以以编程方式设置)。

右键单击Mac nib中的按钮时,performClick:位于已接收操作下;这不是一个事件。 已发送操作下的唯一条目是“选择器”,这是唯一可以连接到另一个对象上的操作的条目。

因为只有一个“已发送事件”,您通常只需控制 - 从控件拖动/右键拖动到目标并选择操作而不是按住Control键,选择事件并从中拖动。 / p>

答案 1 :(得分:3)

它的工作方式大致相同,但与UIKit不同的是,只有一个操作签名:

- (IBAction)actionName:(id)sender;

有关详情,请参阅Communicating with ObjectsTarget/Action in Interface Builder

答案 2 :(得分:1)

我喜欢按住Control键并单击按钮,然后拖动到我想要接收动作的对象。然后,我从弹出菜单中选择可能的选择方法。