Thank you!
But I have another problem. The situation is like this: If I put mouseDown code in the NSView's subclass, it will be called. If I put it in the NSWindowController's subclass , it will not be called. Why?
NSView and NSWindowController are both the NSResponse's subclass, so they should both override super class 's method.