我真的不明白可可在通知和事件之间有什么不同。
例如,我可以有这样的代码:
-(void)mouseMoved:(NSEvent*)event { … }但不是
-(void)windowMoved:(NSEvent*)event { … }对于第二个,我必须使用NSNotification -为什么?
发布于 2010-12-23 18:05:00
不同之处在于,NSEvent用于封装输入事件。鼠标按下、按键按下等。但是,NSNotification用于通知观察者状态或对象的变化(例如,当网络可达性改变时,新数据变得可用或窗口移动)。
在您的例子中:窗口移动不是某种输入,而是窗口位置的改变。因此,您得到的是NSNotification而不是NSEvent。
https://stackoverflow.com/questions/4517618
复制相似问题