0

UITableViewがあり、デリゲートを別のクラスにしたいことを除いて、UITableViewControllerに組み込まれているすべての機能が必要です。問題は、デリゲートクラスが機能するために、データソースから識別情報を取得する必要があることです。UITableViewをUITableViewControllerに委任する必要があります。これにより、適切な識別情報が取得され、didSelectRowAtIndexPath内から3番目のクラスが呼び出されます。これを適切な方法で構成したいだけです。

私はiOSとObjective-Cにかなり慣れていないので、誰もが使用するソリューションがあるように感じますが、それは私には明らかではありません。

4

2 に答える 2

1

デリゲートとデータ ソースの両方がカスタム クラスを指すようにします。テーブル ビュー イベントをすべて 1 か所で管理する方が簡単で、UITableViewController は本当に必要ありません。それらを分離すると、デリゲートとデータ ソースの間で多くの情報を転送する必要があるように思われるため、デリゲートとデータ ソースの間に強い結合が生じる可能性が高く、それらを別々のクラスに分割する目的が無効になります。

于 2012-06-25T20:27:54.380 に答える
0

同じUIViewControllerに2つのテーブルビューがあり、ニーズに合う場合に私が通常使用する戦略は、テーブルビューごとにオブジェクトクラスを作成することです。たとえば、MyFirstTableViewManagerとMySecondTableViewManagerです。

各テーブル ビュー マネージャーは、各テーブル ビューへのデリゲートおよびデータ ソースとして設定されます。

各テーブルビューに多くの情報を表示する必要がある場合は、UIViewController から設定した各テーブル ビュー マネージャー クラスにプロパティを作成します。

このようにして、各テーブル ビューを管理するロジックを分割して簡単にし、クリーンに保ちます。また、UIViewController から、各テーブル ビュー マネージャーのプロパティを設定して各テーブル ビューに表示する情報を設定し、必要に応じてデータをリロードするように設定できます。 .

これがお役に立てば幸いです。

于 2012-06-25T20:35:44.043 に答える