0

我被困在一个我无法解决的问题上。我有一个 CourtView : NSView,我可以在其中进行绘图,并在其中存储我的 mouseDownPoint 和 mouseUpPoint。我有一个 WindowManager : NSObject ,它有 CourtView 作为 IBOutlet CourtView *courtView;

我想要做的是,一旦鼠标被释放,所以 - (void)mouseUp:(NSEvent *)event; 被调用时,WindowManager 中的一个方法被调用。

4

1 回答 1

1

您需要提供CourtView对实例的引用,WindowManager以便它可以在mouseUp方法中调用它。有几种方法可以做到这一点,但鉴于您已经使用 anIBOutlet以另一种方式链接它们,可能最简单的方法是反向执行相同操作。

在 的接口中添加一个IBOutlet实例变量CourtView

@class WindowManager;
@interface CourtView : NSView
{
    IBOutlet WindowManager* manager;

    // ... rest of your interface ...
}

在 Interface Builder 中,您现在应该能够在您CourtView的此插座和现有WindowManager对象之间添加连接。然后,在 for 的实现中CourtView,让您的事件处理程序将相关消息发送到manager

- (void) mouseUp:(NSEvent*) event
{
    // ...

    [manager someWindowManagerMethodWithEvent:event andOtherArgument:whatever];

    // ...
}
于 2010-09-01T12:30:11.160 回答