Từ Cocoa Event-Handling Guide - The Responder Chain:
Chuỗi trả lời là một loạt liên kết của các đối tượng trả lời khi mà một sự kiện hoặc hành động nhắn được áp dụng. Khi một đối tượng trả lời cụ thể không xử lý một thông điệp cụ thể, đối tượng chuyển thông điệp tới người kế nhiệm của nó trong chuỗi (tức là, phần trả lời tiếp theo của nó).
Khi bạn nhấn một phím, cửa sổ sẽ nhận được sự kiện phím. Sau đó, nó sẽ gửi sự kiện đến phản hồi đầu tiên, thường là điều khiển với khung bezel màu xanh xung quanh đường viền của nó (cố gắng nhấp vào trường địa chỉ trong Safari hoặc Firefox, khi được gắn màu xanh, sau đó nó có trạng thái trả lời đầu tiên) .
Nếu trả lời đầu tiên không ăn bấm phím (trường địa chỉ Safari không ăn nó khi nó sẽ hiển thị một nhân vật) sau đó nó sẽ chuyển xuống chuỗi responder đến trả lời tiếp theo trong hệ thống phân cấp xem, sau đó đến cửa sổ và đến bộ điều khiển cửa sổ như bạn có thể thấy trong Guide.(Hãy cẩn thận rằng hành động phản hồi là một câu chuyện khác.)
Vì vậy, bạn phải triển khai keyDown: trên chế độ xem cửa sổ hoặc trong chính cửa sổ, nếu không có chế độ xem ăn các sự kiện. Cách đơn giản nhất để kiểm tra là ghi đè lên phương thức keyDown: của một cửa sổ trống
Để đặt tay bạn vào các hoạt động bên trong, bạn thậm chí có thể thử ghi đè phương thức sendEvent: một cửa sổ. sendEvent: gửi các sự kiện tới các khung nhìn của cửa sổ, và từ đó bạn có thể ghi lại tất cả các sự kiện được quản lý bởi cửa sổ.
Hãy cẩn thận với bộ điều khiển cửa sổ, nếu có, là bộ đáp ứng cuối cùng cho các thông báo sự kiện. Các đại biểu chỉ nhận được tin nhắn hành động, chứ không phải tin nhắn sự kiện. – IlDan
Bắt tốt. Tôi sẽ chỉnh sửa câu trả lời của mình để không yêu cầu rằng ủy quyền cửa sổ sẽ hoạt động. –