4

我找不到有关方式的文档,其中 Interface Builder 确定 Sent Message outlets 用于触发事件的组件之间的图形连接和其他组件的消息。
我想生成封装有限状态自动机的组件。输入部分很简单,只需定义 IBAction 消息,您就可以在 Interface Builder 中连接它们。棘手的部分显然是这种连接的另一端。
我想为 FSM 触发的每个事件提供一个不同的插座,例如 NSButton 的“选择器”插座(在检查器的“连接”选项卡上的“已发送消息”下列出)。
如何以编程方式指定此类接口,我可以指定多个这些接口吗?还是这种方法不合适;通知会是更好的方法吗?(我使用 Visual Age 和 Parts 的图形连接,所以我更喜欢它们,但在 Interface Builder 中,对此类连接的支持似乎受到了某种限制)。

提前致谢

我的问题的第一部分已在“Send An Action Cocoa - IBAction”问题中得到解答。我仍在寻找定义多个“已发送消息”的可能性。

4

1 回答 1

0

当您使用 IBActions 实现您的方法时,生成消息的对象(发送者)将传递给消息。因此,如果我的界面上有一个按钮,上面写着“注销”,并且在某个名为的控制器对象上有一个操作,logout:并且我已经将它们连接起来,则该方法会接收触发它的按钮的实例。例如:

- (void)logout:(id)sender
{
  // sender is the instance of whichever wired button triggered
  // this action. We just NSLog() it for now.
  NSLog(@"-[%@ logout:%@]", self, sender);
}

其他对象也可能调用此操作,并且可能将自己作为发送者传递,也可能传递零。这个细节将留给你作为设计师。

于 2009-12-11T19:50:41.117 回答