2011-04-07 89 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