2

MainViewController があり、それぞれに異なるセルを持つ 2 つの UITableView を追加したいと考えています。しかし、テーブルデリゲートメソッドをチェックインして、それがどのテーブルであるかを確認し、それに基づいて処理することで、MainViewController コードを詰まらせたくありません。ぐちゃぐちゃになりすぎます。

そこで、UITableView をサブクラス化し、cellForRow やその他のテーブル メソッドを単独で処理できるようにしようと考えました。このようにして、MainViewController にテーブルを追加したい場合は、

CustomTable *customTable = [[CustomTable alloc] init];
[self.view addSubview:customTable];

そして、すべてのデリゲート メソッドがそのクラスで処理されるため、MainViewController の混乱は解消されます。

私はこれに間違って近づいていますか?代わりに UITableViewController をサブクラス化する必要がありますか? 違いは何ですか?

4

2 に答える 2

10

いつサブクラス化しUITableViewますか? 今はやめろ。

ビュー コントローラーのメンバー変数である 2 つのクラスを作成します。テーブル ビュー デリゲートを 2 つの新しいクラスのそれぞれに向けます。

Cocoa では、通常 Java や C# で行うように、クラスから継承するのではなく、クラスを結合する傾向があります。

于 2012-04-20T16:55:28.087 に答える
5

Objective-cプログラマーとしての3年間の専門的な作業で、UITableViewを一度サブクラス化する必要はありませんでした。パターン、ココアは依存しています— MVC委任プロトコルを使用)は、単純でありながら十分に強力です。そして、テーブルビューにデータを入力することは、最良の例の1つにすぎません

このトピックをすべて理解していることを確認してください。そうしないと、フレームワークと絶えず戦うことになります。

于 2012-04-20T18:39:05.413 に答える