简单的问题。我注意到,当我继承UITableViewController时,它的UITableView会自动将它的委托/数据源设置为我的类。我是否需要手动将tableview委托/数据源设置为我的类,以确保代码正确性或是预期的行为?
谢谢!
答案 0 :(得分:4)
是的,这是官方预期的行为。
这是文档中的详细here,特别是在“概述”一节中:
<强>概述强>
UITableViewController类创建一个管理表视图的控制器对象。它实现了以下行为:
[...]
如果加载了包含表视图的nib文件,则数据源和委托将成为nib文件中定义的那些对象(如果有)。如果未指定nib文件,或者如果nib文件未定义数据源或委托,则
UITableViewController
将数据源和表视图的委托设置为self 。
答案 1 :(得分:2)
在UITableViewController中,ViewController创建的UITableView的委托和数据源默认为ViewController。
如果您创建自己的UITableView,则必须分配数据源并自行委派。
答案 2 :(得分:0)
是..它会自动设置委托方法。因为它在内部这样做。 在编码实现的情况下它确实
正如文件所说:
@interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
因此,它在内部设置委托方法。