1

我真的不明白可可在通知和事件之间的区别。

例如我可以有这样的代码:

-(void)mouseMoved:(NSEvent*)event { … }

但不是

-(void)windowMoved:(NSEvent*)event { … }

对于第二个我必须使用NSNotification - 为什么?

4

1 回答 1

6

不同的是,NSEvent 用于封装输入事件。鼠标按下、按键按下等。然而,NSNotification 用于通知观察者状态或对象的变化(例如,当网络可达性改变、新数据可用或窗口移动时)。

在您的情况下:窗口移动不是某种输入,而是窗口位置的变化。因此你得到一个 NSNotification 而不是一个 NSEvent。

于 2010-12-23T10:05:00.413 回答