【问题标题】:UITableView without <UITableViewDelegate, UITableViewDataSource> still works!没有 <UITableViewDelegate, UITableViewDataSource> 的 UITableView 仍然有效!
【发布时间】:2011-05-16 16:46:02
【问题描述】:

我读到,每当您使用 UITableView 时,您应该使您的控制器类符合 &lt;UITableViewDelegate, UITableViewDataSource&gt; 协议(如果您不使用定制的 UITableViewController 类)。

所以我的超类是UIViewController,但我忘记在.h 文件中添加&lt;UITableViewDelegate, UITableViewDataSource&gt; 声明。出于某种原因,该表仍然有效。它从类中获取数据,单击单元格按预期工作。

有人可以向我解释一下 - 为什么它会起作用?

【问题讨论】:

    标签: cocoa-touch ios uitableview


    【解决方案1】:

    如果您的实现中仍有适当的方法,它将正常工作。当表格视图需要调用这些方法时,它不会检查您的类是否声明它符合 UITableViewDelegate 或 UITableViewDataSource,而是检查您的类是否实现了所需的方法。

    明确声明您遵守协议的目的是使编译器可以生成警告。如果您尝试将 ViewController 的实例分配给一个 id,但没有在标头中声明它,您将收到编译器警告,但如果实现了所有必需的 UITableViewDataSourceDelegate 方法,它仍然可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      相关资源
      最近更新 更多