2011-04-07 91 views
0

現在我正試圖圍繞目標C和XCode包裹頭部。我玩弄UITableView,我有問題,分離的概念背後目標c繼承/協議混淆:UITableViewController

  • 的UITableViewController
  • 的UITableViewDelegate
  • UITableViewDataSource

我熟悉的MVC模式,我從蘋果學到開發人員的文檔,他們的框架使用委託來「專門化」沒有子類的類,數據源類定義瞭如何將數據從模型映射到視圖上(如果我錯了,請糾正我)。

當我通過選擇新文件創建的TableViewController ..>可可觸摸類> UIViewController子類(檢查的UITableViewController子類)我感到困惑地看到,該模板包括來自的UITableViewDelegate和UITableViewDataSource所有功能,而無需在報頭中指定文件TableViewController實現這些協議。 UITableViewController的文檔說它「符合UITableViewDelegate和UITableViewDataSource」。這是否意味着它實現了這些協議?

所以我的問題是:UITableViewController是一個簡單的類,結合了UITableViewDelegate和UITableViewDataSource,還是我錯過了什麼?如果我提供單獨的UITableViewDelegate和UITableViewDataSource,是否需要UITableViewController?

謝謝!

回答

1

UITableViewController是一個預先配置了UITableView並且自己設置爲表視圖的委託和數據源的控制器。

所以是的,這幾乎是一個便利的類。

您不需要使用它,特別是如果您提供自己的數據源和委託。

+0

感謝您指出這麼清楚! – 2011-04-08 14:58:42