1

我有两个UITableView根据UISegmentControl.selectedSegmentIndex. 第一个表是分组样式,第二个是普通表。

NSFetchedResultsController 用于第一个 UITableView,NSMutableArray 用于第二个。

在我的numberOfSectionsInTableView中:

return [_fetchedResultsController.sections count];

在这种情况下,第二个 UITableView 的数据显示 3 次(因为 FirstTableView 部分计数 = 3)。

我想要第二个 tableView numberOfSectionsInTableView

return 1;

4

4 回答 4

1

您应该在返回计数之前检查您正在显示的表格视图。您可以tableView为此使用输入参数。

例如:-

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (tableView == self.firstTableView) //or (tableView == firstTableView)
       return [_fetchedResultsController.sections count];
    else 
       return 1;
}
于 2013-03-04T09:06:09.423 回答
0

您可以使用以下条件...

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

    if(tableView == firstTableView)
         return 1;
    else if (tableView == secondTableView)
         return 2;
    //... and so on you can do like this....
}

祝一切顺利 !!!

于 2013-03-04T09:06:24.557 回答
0

我猜您正在为两个表视图设置相同的数据源。如果是这种情况,那么在您的:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
   if(tableView == firstTableView){ //assuming you have a reference to the first table view
         return [_fetchedResultsController.sections count];
   }else{
         return 1;
   }
}

您必须在所有数据源方法中执行此操作。相反,使表格视图的数据源不同会更容易。为此,您可以从对象库中拖动一个对象(蓝色立方体)并将其类设置为SecondTableDatasource. 然后将此对象设置为第二个表的数据源,并在该类中实现相应的数据源方法。

于 2013-03-04T09:08:08.663 回答
0

您可以为每个 tableView 添加标签并检查每个标签numberOfSectionsInTableView

于 2013-03-04T09:24:29.107 回答