Iphone UITableView中的UISegment控件

Iphone UITableView中的UISegment控件,iphone,uitableview,xcode4.2,uisegmentedcontrol,Iphone,Uitableview,Xcode4.2,Uisegmentedcontrol,我在表格视图中添加了一个段控件,我的问题是我需要根据选定的段在表格视图单元格中显示文本 我学习了一些教程,他们根据所选的线段给我标签中的文本。我使用了segmentControl。还选择了dexpath。那么,有谁能告诉我,如何根据选定的段将对象数组设置为我的tableview单元格 如果我的英语有错误,请纠正我 请帮帮我。 非常感谢您的帮助。tableview的常用功能; 在控制器中,您有一个包含对象的数组,比如说_tableObjects 您已经在控制器数据源方法中实现了 - (UITabl

我在表格视图中添加了一个段控件,我的问题是我需要根据选定的段在表格视图单元格中显示文本

我学习了一些教程,他们根据所选的线段给我标签中的文本。我使用了
segmentControl。还选择了dexpath
。那么,有谁能告诉我,如何根据选定的段将对象数组设置为我的tableview单元格

如果我的英语有错误,请纠正我

请帮帮我。 非常感谢您的帮助。

tableview的常用功能; 在控制器中,您有一个包含对象的数组,比如说_tableObjects 您已经在控制器数据源方法中实现了

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     UITableViewCell *cell =......
     .................
     cell.labelText.text = [_tableObjects objectAtIndex:indexPath.row].name;
     return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
   return _tableObjects.count;
}
如果是这样的话,您可以在代码的某个地方更改_tableObjects数组

_tableObjects = myOtherArray;
[self.tableView reloadData];

首先,您必须根据您的需求(即分段控制的数量)将数据划分为不同的数组

此处,如果有三个段控件,则根据段控件的选定索引,在表视图的委托方法中创建三个数组,并更改要在表视图中显示的数组

比如如果
segmentControl.selectedIndex==0
然后
array1
如果
==1
然后
array2
如果
==2
然后
array3

在表视图的所有委托和数据源方法中。在段控件的selecedIndexChange上:方法调用重载表

快乐编码:)

编辑1

对于分段控件索引更改的表视图中的更改数据,必须为表视图设置一个
IBOutlet
,并使用该
IBOutlet
使用
[tableView reloadData]更改数据此处
tableView
是表视图的
IBOutlet


快乐编码:)

你更新数据源对吗?你问tableView数据源对吗?@BourneYes。您需要更新tableview数据源。是的,我更新了tableview委托和datasource@Bourne。没有更新,即使我无法获得tableview。我可以在那个段控件上获取tableview和。抱歉@Mert,我无法获取这个…:(这是表格视图的基础知识。如果它们对您没有什么意义,那么我强烈建议您阅读我的意思是这不适用于我的上下文@Mert。我知道您在链接中发送的那些基础知识。除非您提供一些代码,否则我无法为您提供更多帮助。我刚刚编辑了上面的问题,如果您了解我的上下文,请帮助我…@Mert。)如果需要任何帮助,请随时提问:)您好@Aalok Parikh,我已经完成了上面提到的所有操作,在我的屏幕截图中,如果我选择另一个段,表数据将保持不变。即使我实现了基于段的选定索引。我需要编写一个按钮操作—(iAction)segmentedControlIndexChanged。我没有得到需要在那里写入的逻辑…请帮助我。在您的
表格视图:cellForRowAtIndexPath:
方法中,放置if-else-if-else部分,并在该部分中使用适当的数组返回数据以在单元格中显示:)if(segmentControl.selectedSegmentIndex==0){cell.textLabel.text=[weekVolOppAry对象索引:indexPath.row];}if(segmentControl.selectedSegmentIndex==1){cell.textLabel.text=[weekVolOppAry对象索引:indexPath.row];}if(segmentControl.selectedSegmentIndex==2){cell.textLabel.text=[monthVolOppAry对象索引:indexPath.row];}您为表视图设置了IBOutlet了吗?
tableView
是您的表视图的IBOutlet。并且只需放置一行,如[tableView reloadData];就是这样。:)