Ios UItableview的UIsegment控件

Ios UItableview的UIsegment控件,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我已经用UItableview实现了UIsegment控制。我在单击每个段时显示UItableview,在UItableview中显示json值。现在的问题是,当页面加载时,我无法在不点击段的情况下显示值 UISegmentcontrol的功能: -(void)valueChanged:(UISegmentedControl *)segment { if(segment.selectedSegmentIndex == 0) { UIAlertView *alert=[[UIAle

我已经用UItableview实现了UIsegment控制。我在单击每个段时显示UItableview,在UItableview中显示json值。现在的问题是,当页面加载时,我无法在不点击段的情况下显示值

UISegmentcontrol的功能:

-(void)valueChanged:(UISegmentedControl *)segment {

  if(segment.selectedSegmentIndex == 0) {

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller" message:@"valuechanged segment" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:rfcNumber];
    [_tableView reloadData];
    //action for the first button (All)
}else if(segment.selectedSegmentIndex == 1){

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller2" message:@"valuechanged segment2" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:approve];
    [_tableView reloadData];
    //action for the second button (Present)
}else if(segment.selectedSegmentIndex == 2){

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller3" message:@"valuechanged segment3" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:reject];
    [_tableView reloadData];
    //action for the third button (Missing)
  }
}
在cellForRowAtIndexPath中作为

cell.textLabel.text = [crList objectAtIndex:indexPath.row];

我每次单击数据段时都会获取数据,仅当页面加载时才选择第一段默认值,但它不显示数据。

将任何段设为默认值,因为您在单击数据段时填充了数据源,这是第一次加载“crList”数组将为空,因此您看不到任何数据以下是您可以尝试的解决方案:

在viewdidLoad方法中,具有以下代码行:

self.segmentedControl.selectedSegmentIndex = someDefaultIndex

其中“segmentedControl”将是您的segmentcontrol的参考,而“someDefaultIndex”将是一些默认索引。

您是否可以添加一些屏幕截图并解释问题。函数-(void)值已更改:(UISegmentedControl*)segment,它应该在CustomTableViewCell.m文件中,并且您应该在UI上或以编程方式分配segmentedControl的值更改事件。您可以拥有此CustomTableViewCell的一个委托,并具有一个函数,当您希望显示和提醒UI或UI中的任何更改时(因为您必须更新标签的字符串等)-(void)valueChanged:(UISegmentedControl*)段此函数位于我的uitableview单元格中,我以编程方式设计所有内容。是否每个单元格都有一个tableView参数,而不是委托函数?最好的设计是在viewController中使用cellDelegate并调用[self.tableView重载数据];在ViewController本身中,tableView的数据源和委托被分配到其中@ramyaThank你这么多,我得到了解决方案。实际上我添加了crList=[[NSArray alloc]initWithArray:rfcNumber];在viewDidLoad中,当页面加载时,它会显示默认值,并根据我选择的段更改tableView中的值。