2

私はデリゲートやデータソースなどのプロトコルでかなり多くの作業を行ってきましたが、最近、UIKeyInputプロトコルを使用して何かに取り組んでいます。私はそのようなことに慣れていますself.tableView.delegate = selfが、UIKeyInputそうする必要はありませんでした。しかし、それでも、私が実装したプロトコルメソッド(例insertText:など)が呼び出されました。

誰かがこれがどのように機能するかを私に説明できますか?

よろしくお願いします!

4

1 に答える 1

1

Cocoa Touchフレームワークには、「レスポンダーチェーン」の概念があります。これは、UI入力イベントを配信する場所を特定する方法です。「ファーストレスポンダー」はレスポンダーチェーンの先頭にいます。iOSにキーボード入力イベントがある場合、現在のファーストレスポンダーがUIKeyInputプロトコルをサポートしているかどうかを確認し、サポートしている場合はそれらのメソッドを呼び出します。

フレームワークはこれらのメッセージの受信者をファーストレスポンダーとして定義するため、別のオブジェクトのUIKeyInputDelegateとして登録する必要はありません。

于 2013-03-24T16:57:20.497 に答える