Разница между NSNotification и NSEvent - PullRequest
1 голос
/ 23 декабря 2010

Я не очень понимаю разницу, которую делает какао между уведомлением и событием.

Например, я мог бы иметь такой код:

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

но не

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

Для второго я должен был бы использовать NSNotification - почему?

1 Ответ

6 голосов
/ 23 декабря 2010

Разница в том, что NSEvent используется для инкапсуляции входных событий. Мышь вниз, ключ вниз и т. Д. Однако NSNotification используется для уведомления наблюдателей об изменении состояния или объекта (например, когда изменилась достижимость сети, стали доступны новые данные или что окно перемещено).

В вашем случае: перемещение окна - это не ввод, а изменение положения окна. Таким образом, вы получаете NSNotification, а не NSEvent.

...