2

私は、学校の生徒をリストする必要があるという架空の状況にあります。学校を表すいくつかのセクションを持つ1つのテーブルビューコントローラーがあります。各学校にはその後の生徒がいます。現在、ナビゲーションコントローラーのトップレベルビューで学校名をクリックして、特定の学校のすべての生徒を表示する機能をユーザーに提供する必要があります。

ここでの質問は、現在の「StudentsViewController」を分岐して、個々の学校の生徒を表示できるようにするために複雑なロジックを追加するのか、それとも専門家がそのテーブルを処理するための新しいクラスを推奨するのかということです。

トレードオフはかなり単純で、紛らわしい/複雑なロジックを犠牲にして、おそらくすべてを1つのViewControllerに入れることができます。一方、個々の学校の生徒を処理する別のコントローラーを作成すると、コードが繰り返されることが多くなります。

専門家はこれについて何をお勧めしますか?

4

2 に答える 2

2

最も簡単なことは、一連の学校を処理する単一のクラスを作成することだと思います。その配列に項目が 1 つしか含まれていない場合、(オプションで) 単一のセクションにタイトルを表示しないようにすることができます。それ以外の場合、すべてのセクションにタイトルがあります。

すべての学校を配列に入れ、単一の学校を表示する必要がある場合は、それ自体を配列に貼り付け、それをビュー コントローラーにプッシュします。

私たちのアプリの 1 つで、基本的に同じ方法で、非常によく似たことを行います。

于 2008-11-30T01:01:51.973 に答える
1

データを保持するために使用しているモデルに依存すると思います。配列の配列があるとしましょう (学校の配列、各学校には学生の配列があります)。

この場合、1 つの tableController に固執します。

モデルの設計が単純であれば、ロジックは複雑である必要はありません。この場合、複数のサブクラスよりもクリーンで「より正確」になると思います。システムがセクションと行番号を持っているNSIndexPathを渡す場所を忘れないでください。( SchoolStudent ) indexPath.sectionindexPath.row

于 2008-11-30T01:01:19.993 に答える