1

私は練習しておりtable views、それらを作成する方法を知っていますが、テーブル ビューを作成するときのデリゲートとソースについてよりよく理解したいと思います。

テーブル ビューを作成するときにデリゲートとソースが必要であることを誰か説明できますか?

なぜそれらが必要なのですか?

デリゲートとソースをファイルの所有者ViewControllerに接続するとどうなりますか?また、それらを接続する必要があるのはなぜですか?

デリゲートとソースについての一般的な説明が必要だと思います。それらをファイルの所有者に接続するとどうなりますかViewController?

4

5 に答える 5

2

デリゲート:- デリゲートは、オブジェクトがプログラム内のイベントに遭遇したときに、別のオブジェクトに代わって、または別のオブジェクトと連携して動作するオブジェクトです。委任オブジェクトは多くの場合、ユーザー イベントに応答するレスポンダー オブジェクト (つまり、AppKit の NSResponder または UIKit の UIResponder から継承するオブジェクト) です。デリゲートは、そのイベントのユーザー インターフェイスの制御を委任されたオブジェクト、または少なくともアプリケーション固有の方法でイベントを解釈するように求められるオブジェクトです。

データ ソース:- データ ソースは委任に似ていますが、ユーザー インターフェイスの委任された制御ではなく、データの委任された制御である点が異なります。データ ソースは、テーブル ビューやアウトライン ビューなどの NSView および UIView オブジェクトによって保持されるアウトレットであり、表示されるデータの行を入力するためのソースを必要とします。ビューのデータ ソースは通常、そのデリゲートとして機能するオブジェクトと同じですが、任意のオブジェクトにすることができます。デリゲートと同様に、データ ソースは非公式プロトコルの 1 つ以上のメソッドを実装して、必要なデータをビューに提供し、より高度な実装では、ユーザーがそのようなビューで直接編集するデータを処理する必要があります。

詳細情報については、 http: //developer.apple.com/library/ios/#documentation/general/conceptual/CocoaEncyclopedia/DelegatesandDataSources/DelegatesandDataSources.html を参照してください。

于 2013-05-21T13:36:57.377 に答える
1

プログラミング言語が多重継承をサポートしていない場合は、デリゲート メソッドを使用する必要があります。デリゲート メソッドを実装すると、スーパー クラスなどのオブジェクト関数を使用できます。例 :

    // define tableview row count
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 1;
}

// define tableview height
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

}

// define specific tableview cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = MyCell();
    return cell;
}
于 2013-05-21T13:53:57.107 に答える