将UITableViewController添加到我的应用程序时, 我注意到Xcode中的模板中缺少我要添加的常用代码:
我希望看到:
@interface myTableViewController : UITableViewController <UITableViewDelegate , UITableViewDataSource>
相反,我看到了:
@interface myTableViewController : UITableViewController
为什么不需要声明UITableViewController是委托和数据源?
答案 0 :(得分:1)
不要求声明要实施的内容。你可以实现它。此外,因为这是一个TVController,这是自动完成的。
答案 1 :(得分:1)
UITableViewController的接口声明是:
@interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
因为您继承自UITableViewController,所以您的子类将共享UITableViewController具有的任何方法实现,其中包括委托和数据源方法的实现。
答案 2 :(得分:1)
如果您打开UITableViewController.h
文件,您将看到它继承自UIViewController
并实现这两个协议。子类不需要重新声明符合其父类[es]实现的协议。
如果您使用xib创建了视图控制器,则无需将delegate
和dataSource
分配给视图。但是,如果您以编程方式创建它 - 是的,请将delegate
和dataSource
属性设置为self。