デリゲートメソッドをクリックするだけでデリゲートのヘッダーが表示されるため、適切なドキュメントのインターネット(例:Appleの開発者サイト)を参照する必要はありません。また、私は、デリゲートを実装するたびに、私は通常、このようなコードを書く私の実装ファイルに:
#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// implementation here ...
}
#pragma mark - UITableVieWDataSource
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// implementation here ...
}
コマンドクリックすることにより、プラグママークテキストに(UITableViewDelegate/UITableViewDataSource)、デリゲートのヘッダが少ないだけでなく表示されます現在のクラスのヘッダーファイルへのナビゲーションは、Commandキーを押しながらプロトコルをクリックします。デリゲートのヘッダーから必要なメソッドをコピーして貼り付けるだけです。
最後に何をちょうどXcodeの(あなたがオートコンプリートしたいプロトコルに準拠した実装ファイル)に入力を開始しているにも便利です...
- tableView
、プレス脱出。 tableViewデリゲートメソッドがポップアップし、タブで必要なものを選択すると、自動的に完成します。他のオブジェクトの代理人にも同じです。
私はそれがApplicationDelegateに似た別々のファイルにきれいになります考えていました。しかし、ビューコントローラで設定された他のアウトレットなどに簡単にアクセスできないので、これはベストプラクティスではないと思います。例えば私は、ビューコントローラに代理人を置くのがベストですか? –
はい、私はIntelliJがありません:) –
デリゲートをビューコントローラに配置するのが通常です。アップルのテンプレートUITableViewControllerファイルを参照してください。しかし、あなたは確かに別のクラスやオブジェクトを使うことができます。私は定期的に行ったことではありません。私が持っているときは、IBを使ってデリゲートプロパティを設定しませんでした。厳密にMVCであれば、デリゲートをビューコントローラに置くことができます。たとえば、UIPickerViewの場合:PickerView自体が* view *にあり、そのピッカーに表示される内容のコントロールが*コントローラ*(データは* model *に入りますが、pickerviewの場合は別のクラスではないかもしれません)。 – lxt