【问题标题】:How to interact with UITableView in UIViewController?如何在 UIViewController 中与 UITableView 交互?
【发布时间】:2012-03-11 15:58:33
【问题描述】:

我沉迷于在 Storyboard 中使用 TableViewController,它的类直接继承自 UITableViewController,功能如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

默认情况下,您只需要实现它们。但现在我在情节提要中使用 ViewController(从 UIViewController 继承)并通过拖放将对象库中的 UITableView 控件使用到视图控制器中。显然,我将附加到我的故事板 ViewController 的类将从 UIViewController 继承。现在如何在我的视图控制器中与 UITableView 控件中的表格单元格进行交互。想实现上面相同的行函数。

【问题讨论】:

    标签: ios ios5 uiviewcontroller uitableview


    【解决方案1】:

    您必须将 UITableViewDelegate 和 UITableViewDatasource 协议分配给您的表并实现它。您问题中的方法是来自这些协议的方法,它们会在您使用 UITableViewController 时自动出现。

    【讨论】:

      【解决方案2】:

      在您的视图控制器 .h 文件中实现 UITableViewDataSourceUITableViewDelegate 协议。

      有一个UITableView 的出口。

      viewDidLoad中,将tableView的数据源和委托设置为self,因为viewcontroller实现了协议。

      然后,编写cellForRowAtIndexPath 方法。它将被调用。

      【讨论】:

      • 在 ViewController 的 viewDidLoad 中将数据源和委托设置为 self 并不是最干净的方式,如果您像提问者那样使用情节提要。如果您在情节提要上选择UITableView 并转到连接检查器,您将看到dataSourcedelegate 的未连接插座。按住 Ctrl 键并从它们拖动到视图控制器下方左侧的黄色圆圈,以将 ViewController 设置为数据源并委托给表格视图。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多