First Responder メソッドは魔法ではありません。メッセージがファーストレスポンダーに送信されると、アプリの現在のファーストレスポンダー (通常はフォーカスされたビュー/コントロール) に、メソッドを実装するかどうかが尋ねられます。存在する場合、メソッドが呼び出されます。そうでない場合は、チェーンの次のレスポンダーが尋ねられ、トップレベル (NSApplication
インスタンス) に到達するまで続きます。オブジェクトは、呼び出されるメソッドを実際に実装する必要があり、単に宣言することはできません。
この場合、プライベート メソッドとしてIKImageView
実装します。-setRotation:
これは、メソッドが存在することを意味します (これが、IKImageView がファーストレスポンダに送信されたメッセージを受け入れる理由です) が、その使用は文書化またはサポートされていません。Apple がプライベート メソッドを使用してサンプルを出荷するのは奇妙に思えますが、そのとおりです。メソッドの使用がサポートされているときに、メソッドが誤ってパブリック ヘッダーから除外されることは確かにありますが、一般的には、Apple の担当者からプライベート メソッドを使用してもよいという特別な指示がない限り、プライベート メソッドを使用しない方が賢明です。
class-dumpを使用して、プライベート メソッドを含む、Objective-C オブジェクトのすべてのメソッドのヘッダーをバイナリから生成できます。
IKImageView
-setRotationAngle:
回転を変更したい場合は、おそらくこれが良い方法です。