界面构建器自定义nsview向父级发送操作

时间:2009-08-20 15:37:45

标签: objective-c interface-builder

我在解决如何获得自定义nsview以通知我的主控制器类发生了某些事情时遇到了问题。

控制器类有一个mapView实例,如下所示:

IBOutlet MapView *mapView;

通过界面构建​​器实例化,在我的mapView类中,我得到这样的鼠标点击:

- (void)mouseDown:(NSEvent *)theEvent { //whatever...

但是当发生这种情况时,需要在控制器类中更改一个或两个变量 - 我该怎么做?

1 个答案:

答案 0 :(得分:6)

为您的自定义View类定义协议并在您的控制器中实现协议,在您的视图类中,您将在视图中具有实现协议代码的委托属性...该属性看起来像

@property(assign) id <MyProtocol> myProtocolDelegate;

然后Controller可以将自己设置为视图的委托,如果它正确实现了协议,则应在视图调用时获取消息。 信息http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html