2011-10-18 5 views
0

私は、さまざまなオプションの束を持つtableViewControllerを持っていて、それらの行の1つが選択されたときにセレクタ呼び出しを追加しようとしています。Objective C/iOS:tableViewで行が選択されたときのセレクタ呼び出しの処理。

私が今セットアップしているのは、自分のTableViewControllerの子クラスにフィールド 'セレクタ'を持つサブクラスがあり、そこにセレクタを呼び出そうとしているのです。しかし、これはセレクタが表すメソッドを実際に実装しているオブジェクトにアクセスすることはできません。

セレクタをオブジェクトに追加する正しい方法は何ですか?このオブジェクトはボタンではなく、最後にdidSelectRowAtIndexPath:呼び出しでセレクタをトリガする必要があります。

ご提案は大歓迎です。

乾杯。

答えて

0

私がこれを解決する方法は、セルをサブクラス化し、デリゲートとセレクタプロパティを追加することでした。私は再びdidSelectRowAtIndexPathにアクセスしました。私はこれがベストプラクティスではないかもしれないことに気づいていますが、うまくいきます。

0

私はこの問題の良い設計は、あなたが呼ぶことに興味があるすべてのセレクタを列挙することだと思う(もちろんこれはセレクタが有限個であり、明示的に存在する必要があるため)。 (これはもちろん、UITableViewCellをサブクラス化する必要があることを意味します)、didSelectRowAtIndexPath:メソッドにswitch-caseを記述します。

関連する問題