The window delegate cannot handle mouse events because those do not
follow the responder chain as do actions; mouse events are sent by
the window to the view in which the event occurred, and nowhere
else. You have done the correct thing by extending your view class,
and I don't see anything wrong with your solution.
Actually he didn't extend his view class he made _all_ NSView objects
implement mouseMoved: via a category *cringe*. This possibly will
break existing NSView objects by possibly hiding their real
implementation of mouseMoved: and/or causes unrelated views to message
window delegates (say a window delegate implements moveMoved: for
unrelated reasons). So I would say his solution isn't really a good
one.
It isn't clear to me exactly what he is trying to achieve at a
high-level... maybe a better way exists that doesn't involve a window
delegate handling mouse moved events from views contained in the
window... sounds like tracking rects may possibly fill the need?