複数のボタン、テーブル、およびその他のコントロールを含むビューがある場合、タイプ (ボタン、テーブルなど) ごとにコントローラーが必要ですか、それとも必要なすべてのアクションを処理するビューごとに 1 つのコントローラーが必要ですか? 異なる親クラスから継承する必要がある可能性があるため、単一のコントローラーは可能ではないようです。最良の方法は何ですか?
2 に答える
1
これらすべてに 1 つのコントローラーを使用できます。すべてのアクションをコントローラーに配置し、IBActions を宣言して Interface Builder でリンクすることにより、ボタンを接続します。Aaron Hillegass による Mac OS X 用の Cocoa プログラミング の最初の数章では、これについて非常によく説明されています。
UITableView がある場合は、忘れずに を設定し、UITableViewDelegate
必要なメソッドを確実に実装する必要があります。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
その他については、コントローラーで IBOutlets をセットアップし、Interface Builder に接続します。使用しているコントロールによっては、他のデリゲート (テキスト フィールド デリゲートなど) が必要になる場合があります。
于 2009-06-04T09:11:47.427 に答える
1
素晴らしい反応、ネヴァン。また、Cocoa (Touch) API はデリゲートを多用します。これにより、すべてをサブクラス化することなく、単一のコントローラーを複数の目的に使用できます。コントローラーは、いくつかのコンポーネント (UITableView など) のデリゲートです。
于 2009-06-04T10:27:46.040 に答える