2009-07-09 8 views
0

私は、項目のリストを表示するために、テーブルビューと関連するアウトレットなどを備えたInterface builderで構築したビューを持っています。アイテムをクリックすると、そのアイテムの詳細が表示されます。Interface Builderでビルドされたビューをサブクラス化することはできますか?

これで、同じ種類のアイテムのリストと、いくつかの追加のコントロールと、セル選択に関する異なる動作を作成したいと考えています。この場合、ユーザーがアイテムをクリックすると、そのアイテムをテンプレートとして効果的に使用して新しいアイテムを作成します。または、ボタンをクリックして新しいアイテムを作成することもできます。これとは別に、元のビューから再利用したいロジックがたくさんあります。たとえば、アイテムは場所に依存し、場所情報を更新するバックグラウンドスレッドがあります。

元のviewcontrollerをサブクラス化し、IBを使用して2番目のビューレイアウトを構築するのは当然のようです。しかし、私がこれに着手する前に、これが可能であるか推奨されているのか疑問に思っていますか? IBはスーパークラスのIBOutletを認識し、それらを結線させますか?

答えて

2

IBは、スーパークラスで定義されたIBOutletsを認識します。

あなたはいつもそうします:UIViewControllerのビューのコンセントは、それぞれのView Controllerのサブクラスのスーパークラスで定義されています。

1

pgbが正しい。 IBはスーパークラスのアウトレットを認識します

コントローラーのサブクラス化が良いか悪いかは、分かりません。アップルはNSArrayControllerのサブクラス化を提案し、ソート/フィルタリングの動作を変更します。 View Controllerはアレイコントローラとは異なりますが、View Controllerのサブクラス化はおそらく正しいことです。

関連する問題