class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
{
code
}
使用TableViewController时,我删除了这两个类/接口 UITableViewDataSource, UITableViewDelegate 。仍然工作正常。 为什么?
class HomeViewController: UIViewController
{
code
}
那么我们为什么要使用这些类?
答案 0 :(得分:0)
它仍然有效,因为UITableViewController
已经实现了代理UITableViewDelegate
& UITableViewDataSource
:)
答案 1 :(得分:0)
UITableViewController
从根本上构建为管理表视图。因此,它默认实现UITableViewDelegate
和UITableViewDataSource
。
您的HomeViewController
只是UIViewController
的子类。因此,它没有管理表视图的固有责任。如果它不符合UITableViewDelegate
和UITableViewDataSource
,那么这不是问题。
答案 2 :(得分:0)
当您在UIView中拥有Tableview时,您必须遵循某些规则,例如告诉表格要显示多少行。在类的名称后添加UITableViewDelegate, UITableViewDataSource
告诉xCode您要遵循表的规则,以便xCode可以确保您遵循所有必需的规则。
在您的情况下,您已遵循所有规则:您将数据源和委托链接到您实现所需方法的HomeViewController广告,因此您只需在不通知IDE和编译器的情况下执行此操作即可。
换句话说,它的作用是因为你做得对,但你没有足够的检查来确保你做得对。