UI TableView控制器

时间:2015-11-14 17:45:14

标签: swift

class HomeViewController: UIViewController, UITableViewDelegate,     UITableViewDataSource
 {

code

}

使用TableViewController时,我删除了这两个类/接口 UITableViewDataSource, UITableViewDelegate 。仍然工作正常。 为什么?

class HomeViewController: UIViewController
{

 code

}

那么我们为什么要使用这些类?

3 个答案:

答案 0 :(得分:0)

它仍然有效,因为UITableViewController已经实现了代理UITableViewDelegate& UITableViewDataSource :)

答案 1 :(得分:0)

UITableViewController从根本上构建为管理表视图。因此,它默认实现UITableViewDelegateUITableViewDataSource。 您的HomeViewController只是UIViewController的子类。因此,它没有管理表视图的固有责任。如果它不符合UITableViewDelegateUITableViewDataSource,那么这不是问题。

答案 2 :(得分:0)

当您在UIView中拥有Tableview时,您必须遵循某些规则,例如告诉表格要显示多少行。在类的名称后添加UITableViewDelegate, UITableViewDataSource告诉xCode您要遵循表的规则,以便xCode可以确保您遵循所有必需的规则。

在您的情况下,您已遵循所有规则:您将数据源和委托链接到您实现所需方法的HomeViewController广告,因此您只需在不通知IDE和编译器的情况下执行此操作即可。

换句话说,它的作用是因为你做得对,但你没有足够的检查来确保你做得对。