现在我正试图围绕Objective C和XCode。我正在玩弄UITableView
,我在分离背后的概念时遇到了问题
- UITableViewController
- UITableViewDelegate
- UITableView 数据源
我熟悉 MVC 模式,我从 Apple Developer Docs 中了解到,他们的框架使用委托来“专门化”类而不进行子类化,并且数据源类定义了如何将数据从模型映射到视图(如果我错了)。
当我通过选择New File.. > Cocoa Touch Class > UIViewController 子类(检查 UITableViewController 子类)创建 TableViewController 时,我很困惑地看到模板包含 UITableViewDelegate 和 UITableViewDataSource 中的所有函数,而没有在头文件中指定 TableViewController 实现了这些协议。UITableViewController 的文档说它“符合 UITableViewDelegate 和 UITableViewDataSource”。这是否意味着它实现了这些协议?
所以我的问题是: UITableViewController 仅仅是结合 UITableViewDelegate 和 UITableViewDataSource 的便利类,还是我遗漏了什么?如果我提供单独的 UITableViewDelegate 和 UITableViewDataSource,我是否需要 UITableViewController?
谢谢!