2017-09-11 13 views
0

私は(iOSの5時代から)を更新するためにいくつかの古いコードを与えてきた、とのコードの塊は、私はかなり理解していないということであります。UITableViewControllerの最初のレスポンダー?

- (void)viewDidAppear:(BOOL)animated 
{ 
    [self becomeFirstResponder]; 
} 

- (BOOL)canBecomeFirstResponder 
{ 
    return YES; 
} 

これはのUITableViewControllerのサブクラスの一部であり、 UITextFields(その入力は、デリゲートメソッドを介してUITableViewControllerに渡される前に、UITableViewCellサブクラスによって検証され、処理されます)を含むカスタムUITableViewCellサブクラスのインスタンスを生成します。

AFAIK、becomeFirstResponderやcanBecomeFirstResponderなどのUIResponderのものは、テーブルビューコントローラではなく、ユーザーインタラクティブコントロールウィジェット(テキストフィールドやものなど)と関連があります。

この特定のコードがUITableViewControllerの目的を果たすかどうかは誰にでも分かりますか?それとも削除できるものなのでしょうか?アプリケーションの動作は、アプリケーションの有無にかかわらず変更されていないようです。

答えて

0

実際これがUITableViewControllerのサブクラスである場合は、上記のコードはまったく必要ありません。あなたが言及したように、最初のレスポンダステータスは、通常、UIコントロールによって処理されます。

これは、開発者がUITableViewControllerをfirstResponderとして強制的に設定するような、本当にファンキーな(汚れている)ものを実行しようとした場合の見方であると言われています。次に、別のコードがfirstResponserにUITableViewController、またはNIB内のいくつかのメソッドをfirstResponderオブジェクトにアタッチします。

関連する問題