【问题标题】:load data in two table views + segmented control _ ios在两个表视图中加载数据+分段控制_ios
【发布时间】:2023-03-04 22:55:01
【问题描述】:

我正在目标 c 中开发一个应用程序来在表格视图中列出数据。

现在,在其中一个视图中,我有一个视图控制器,其中有一个分段控件和 2 个表视图。我想在不同的表视图中加载不同的数据。

让我们将表视图都称为视图 1 和视图 2

但是我只有一个 UIViewController 类来加载数据。View 1 默认加载在视图控制器中,并且在点击分段视图控件时,视图被隐藏和显示。只要点击分段视图控件,我就会在两个视图中重新加载表格。

这里是代码: 细分视图操作:

- (IBAction)MESegmentValueChanged:(UISegmentedControl *)sender {
    switch (sender.selectedSegmentIndex) {
        case 0:
            self.EventTableView.hidden=NO;
            self.MeTableView.hidden =YES;
            [self.EventTableView reloadData];
            break;
        case 1:
            self.EventTableView.hidden =YES;
            self.MeTableView.hidden =NO;
            [self.MeTableView reloadData];
            break;
        default:
//            self.EventTableView.hidden=NO;
//            self.MeTableView.hidden =YES;
//            [self.MeTableView reloadData];

            break;
    }  

表格视图 cellForRowAtIndexPath :

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSLog(@"%@",tableView);
    if (tableView==self.MeTableView) {
      // load data in view 2
        return cell1;
    }
    else if (tableView==self.EventTableView)  {
    //load data in view 1
       return cell1;
    }
    else{
       // load data in view 1
        return cell1;
    }
}

【问题讨论】:

  • 那么究竟是什么不起作用?您是否连接了两个表视图数据源?
  • 关于隐藏,是否一次只能看到一个表格视图?有没有两者都可见的情况?
  • 有什么问题? (如果您为两个视图都设置了数据源和委托,那么您对 ​​tableView== 的测试应该会告诉您您需要什么数据。)
  • @All : 谢谢我正在实施,如果有任何问题,我会回来

标签: ios objective-c uitableview uiviewcontroller uisegmentedcontrol


【解决方案1】:

使用标签来解决你的问题:

if (tableView.tag == 1)
{
  ....
  return cell;
}
else if (tableView.tag == 2)
{
  ....
  return cell;
}

不要忘记在故事板或代码中设置标签索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多