私のアプリでは、押されたときにピッカーをポップアップするカスタムUITableViewCellサブクラスがあります。今度はこのクラスをPickerCell.
として参照してください。 私は同じUITableView
でPickerCellのインスタンスをいくつか使用しています。目的C - カスタムコールバックメソッドを実装する方法はありますが、特定のパラメータを適用するにはどうすればいいですか?
良いMVCではないため、ピッカーの行選択にセルが反応しないようにしたいと思います。 代わりにViewControllerに、行の選択時に呼び出されるコールバックをセルに付ける必要があります。
最も明白な方法はPickerCellDelegate
のようなプロトコルを作成することです。そして、ビューコントローラは自分自身を各セルに渡します。このアプローチの
私の問題は、私はいくつかのPickerCellsを持っているので、のViewControllerにおけるプロトコルの私の実装では、各セルを区別しなければならないことである。
-(void) pickerCell : (PickerCell *) sender
didSelectRow : (NSInteger) row
inComponent : (NSInteger) component
{
if (sender == X)
// Something
else if (sender == Y)
// Something else...
// etc...
}
そして私は、このコーディングスタイルを嫌い...
代わりに、私は実際にViewControllerが独自のコールバックを与えることができるメカニズムが好きです。
PickerCellに「onRowSelectedSelector
」を受け入れることができますが、このセレクタがどのような形式であることを確認するにはどうすればよいですか? (パラメータの数が最も重要です)
ブロックが特定のパラメータで定義できることがわかっているので、ピッカーセルにブロックブロックを実行してもらいます。さらに、「ターゲット」オブジェクトを渡す必要はありません。
どうすればこのようなことができますか?
ありがとう!
を作成した後にコールバックブロックを割り当てる方法です!まさに私が探していたもの! –