两个UITableViews的numberOfSectionsInTableView

时间:2013-03-04 09:00:39

标签: ios uitableview

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

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

在我的 numberOfSectionsInTableView

return [_fetchedResultsController.sections count];

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

我想要第二个tableView numberOfSectionsInTableView

return 1;

4 个答案:

答案 0 :(得分:1)

在返回计数之前,您应该检查您正在显示哪个表视图。您可以使用tableView输入参数。

例如: -

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (tableView == self.firstTableView) //or (tableView == firstTableView)
       return [_fetchedResultsController.sections count];
    else 
       return 1;
}

答案 1 :(得分:0)

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

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

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

一切顺利!!!

答案 2 :(得分: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;
   }
}

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

答案 3 :(得分:0)

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

中的每个标记