OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用分段控制操作将数据从 API 获取到 tableview? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:54
标题: ios - 如何使用分段控制操作将数据从 API 获取到 tableview?

我有一个 View Controller ,我添加了 1tableview 和分段控制。 在默认情况下,segmented=0 被选中并将数据加载到使用 API 加载的数据的 tableview 中。 当我在同一个 TableView 中选择分段 = 1、2、3、4、5 时,如何使用 API 加载数据。 这是我的代码

view DidLoad
 {
 [segment setSelectedSegmentIndex:0];
[segment addTarget:self actionselector(segmentSelected forControlEvents:UIControlEventValueChanged];
 }

-(void)segmentSelectedid)sender
{
if (segment.selectedSegmentIndex == 0)
{
    NSURLRequest *request0 = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString"API 1"]];
    connection1 =[[NSURLConnection alloc]initWithRequest:request0 delegate:self];
    [connection1 start];
}
else if (segment.selectedSegmentIndex == 1)
    {
        NSURLRequest *request1 = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString"API 2"]];
        connection1 = [[NSURLConnection alloc]initWithRequest:request1 delegate:self];
        [connection1 start];

    }
else if (segment.selectedSegmentIndex == 2)
{
    NSURLRequest *request2 = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString"API 3"]];
    connection1 = [[NSURLConnection alloc]initWithRequest:request2 delegate:self];
    [connection1 start];
}
}

  -(void)connectionDidFinishLoadingNSURLConnection *)connection
{
if (connection==connection1)
{
    NSDictionary *dic =[NSJSONSerialization JSONObjectWithData:myData options:NSJSONReadingAllowFragments error:nil];

    contestArray = [dic valueForKey"example1"];

    courseArray = [dic valueForKey"example2"];

    contestIdArray = [dic valueForKey"example3"];

    [progressHud hide:YES];
    [self.tableViewContest reloadData];
}
}

如何按部分管理我的 tableviewnumberofrows ?



Best Answer-推荐答案


-(void)segmentSelectedid)sender {
    index = segment.selectedSegmentIndex;
    [self.tableview reloadData];

//添加这一行

in tableview delegate 
- (NSInteger)tableViewUITableView *)tableView numberOfRowsInSectionNSInteger)section {

 if(index == 0){
return array1.count;
}
  if(index == 1){
return array2.count;
}
  if(index == 3){
return array3.count;
}
  if(index == 4){
return array4.count;
}
}

cellForRowAtIndexPath 相同

- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath {
    if(index == 0) {
         cell.textfield = [array1 objectAtIndex:indexPath.row];
     //like that

} 
}

关于ios - 如何使用分段控制操作将数据从 API 获取到 tableview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333445/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4