UITableViewControllerのサブクラスであるカスタムTablePickerViewControllerを作成しました。このクラスを使用して、カスタムタイプのTablePickerItemのオブジェクトのリストを表示しています。
iOSアプリケーションでTablePickerViewControllerを複数回使用して、ユーザーがアイテムを選択する必要があるさまざまな種類のリストを表示しています。その後、別のビューコントローラーMainViewControllerがこの選択に反応して、何かを実行する必要があります。
このプロトコルを作成し、TablePickerViewControllerにデリゲートプロパティを作成しました。
@protocol TablePickerViewControllerDelegate <NSObject>
- (void)tablePickerViewController:(TablePickerViewController *)controller
didSelectItem:(TablePickerItem*)item;
@end
MainViewControllerで新しいTablePickerViewControllerを設定すると、デリゲートとしても設定されます。これは、ユーザーがテーブルビューのセルをタップしたときに通知されるものです。
問題は、MainViewControllerが異なるデータ(TablePickerItem )を使用して複数のTablePickerViewControllerをセットアップすることです。これらの複数のTablePickerViewControllerを処理するようにMainViewControllerをどのように設定する必要がありますか?それらのそれぞれからのイベントは、私のMainViewControllerで同じprotocol-methodを呼び出すことになります。
さらに、たとえばメソッドで動作するときに要素IDを知る必要があるため、 TablePickerItemtablePickerViewController:didSelectItem
が表す要素を取得する必要があります。TablePickerItem@property (nonatomic) id element
にのようなものを追加し、元のオブジェクトをこのプロパティに設定してから作成することで、これを処理する必要がありますか?
私の解決策が間違った方法で行われているように思われる場合、誰かが私に一般的なテーブルビューコントローラを作成する方法の例を教えてくれるかもしれません。