0

今、私はObjectiveCとXCodeに頭を悩ませようとしています。私は遊んでいてUITableView、背後にある概念を分離するのに問題があります

  • UITableViewController
  • UITableViewDelegate
  • UITableViewDataSource

私はMVCパターンに精通しており、Apple Developer Docsから、フレームワークがデリゲートを使用してサブクラス化せずにクラスを「特殊化」し、データソースクラスがモデルからビューにデータをマッピングする方法を定義していることを学びました(私が間違っている)。

[新しいファイル]を選択してTableViewControllerを作成したとき..>CocoaTouch Class> UIViewControllerサブクラス(UITableViewControllerサブクラスをチェック)テンプレートに、TableViewControllerがこれらを実装することをヘッダーファイルで指定せずに、UITableViewDelegateおよびUITableViewDataSourceのすべての関数が含まれていることに戸惑いました。プロトコル。UITableViewControllerのドキュメントには、「UITableViewDelegateおよびUITableViewDataSourceに準拠している」と記載されています。それはそれがそれらのプロトコルを実装することを意味しますか?

だから私の質問は:UITableViewControllerはUITableViewDelegateとUITableViewDataSourceを組み合わせた単なる便利なクラスですか、それとも何かが足りないのですか?また、UITableViewDelegateとUITableViewDataSourceを別々に提供する場合、UITableViewControllerが必要ですか?

ありがとうございました!

4

1 に答える 1

1

UITableViewControllerは、UITableViewで事前構成され、それ自体がテーブルビューのデリゲートおよびデータソースとして設定されたコントローラーです。

そうです、それはかなり便利なクラスです。

特に独自のデータソースとデリゲートを提供する場合は、これを使用する必要はありません。

于 2011-04-07T16:06:26.667 に答える