0

这是我第一次在 Cocoa-touch 框架上使用 Webservice,我成功地从控制台上的 Web 服务获取数据,但是当我尝试使用数组在 TableView 上传递它时,它什么也没做。我认为问题是,

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 

该方法不会将编译器传递给 compile 。即使它会工作,它也会将所有带有标签的数据都删除到表格文本中,因为使用:cell.textLabel.text = [myDataCell objectAtIndex:indexPath.row];

我如何在具有指定字段的动态 cell.text 上使用它们?任何帮助将不胜感激。

#import "ViewController.h"
#import "REQService.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize sorguTextField,sorguButton,sorguLabelOutput,name;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)getOutput:(id)sender {

    REQService* service = [REQService service];
    service.logging = YES;

    [service NumaradanIsimALL:self action:@selector(NumaradanIsimALLHandler:) msisdn:sorguTextField.text username: @"xxx" password:@"xxxxxxxxx"];



    myDataCell = [[NSMutableArray alloc ] initWithObjects:myData, nil];

}

#pragma notes - View Tables

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = nil;
    cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];

    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"myCell"];
    }
    cell.textLabel.text = [myDataCell objectAtIndex:indexPath.row];
}
@end
4

1 回答 1

0

看起来您还没有NumaradanIsimALLHandler在视图控制器类中实现 Web 服务响应处理程序方法。在您的代码中实现此方法,一旦您在此方法中获得响应,将其分配给 myDataCell 对象并重新加载表格视图(例如[tableView reloadData]);

在这种情况下,您正在通过点击按钮进行异步 Web 服务调用,并且由于一旦加载视图就会调用表视图委托,因此您需要在 NumaradanIsimALLHandler 处理程序方法中重新加载表视图。

于 2012-10-30T10:44:46.440 回答