如何在表目标c中设置每个单元格的文本

时间:2013-05-09 07:01:08

标签: objective-c uitableview

我使用php脚本从服务器获取问题。我根据问题的数量设置单元格的数量,但是当我写入单元格时,它只输出1个问题。如果我使用for循环,则单元格为空,但如果我设置了数字,则根据数据库中有多少问题重复相同的问题。下面是代码:

    NSString *numOfQuestionsURL = @"http://**.***.**.**/count.php";
    NSData *dataURLforSize = [NSData dataWithContentsOfURL:[NSURL URLWithString: numOfQuestionsURL]];
    NSString *serverOutputforSize = [[NSString alloc] initWithData:dataURLforSize encoding:NSASCIIStringEncoding];
    int numOfQuestions = [serverOutputforSize intValue];
    for(int i = 0; i <= numOfQuestions; i++)
    {
        _hostStr = @"http://**.***.**.**/getQuestion.php?num=";
        _appendString = [[NSNumber numberWithInt:i] stringValue];
        _hostStr = [_hostStr stringByAppendingString: _appendString];
    }
    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString: _hostStr]];
    NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding:NSASCIIStringEncoding];
    result.textLabel.text = serverOutput;

_appendString = [[NSNumber numberWithInt:i] stringValue];是你告诉脚本你想要检索什么问题的地方。

1 个答案:

答案 0 :(得分:1)

你需要像这样使用这个代码

- (NSInteger)tableView:(UITableView *)tableView 
 numberOfRowsInSection:(NSInteger)section {

    NSString *numOfQuestionsURL = @"http://**.***.**.**/count.php";
        NSData *dataURLforSize = [NSData dataWithContentsOfURL:[NSURL URLWithString: numOfQuestionsURL]];
        NSString *serverOutputforSize = [[NSString alloc] initWithData:dataURLforSize encoding:NSASCIIStringEncoding];
        return [serverOutputforSize intValue];
}





- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  //make cell

 _hostStr = @"http://**.***.**.**/getQuestion.php?num=";
        _appendString = [[NSNumber numberWithInt:indexPath.row] stringValue];
        _hostStr = [_hostStr stringByAppendingString: _appendString];
 NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString: _hostStr]];
    NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding:NSASCIIStringEncoding];
cell.textLabel.text = serverOutput;

  return cell;
}

此外,您可以在后台加载数据并维护一个问题数组并填充在表格中。这使您的表格流畅。目前你的桌子表现得不稳定。