在哪里写请求WebService

时间:2012-01-02 10:52:25

标签: iphone objective-c ios json uitableview

我在UITableView创建,其中,点击任何一个单元格(-didSelectRowAtIndexPath)调用与该单元格关联的WebService。

问题是处理JSon响应,请求返回。 我应该从哪里处理这种反应?

当视图发生变化时,我点击表格的单元格(-didSelectRowAtIndexPath);我必须将所有响应信息传递给下一个视图。

问题是:在点击单元格之后和下一个视图加载之前是否应该调用该服务。或坚持这种方式(这使我的代码无法管理。)

哪个事件最适合处理下一个视图(-didSelectRowAtIndexPath)或(-viewDidLoad)?

有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

选择一行后,分配NextViewController。通过在NextViewController中编写setter方法,通知NextViewController已选择该行。在该setter方法中,启动您的请求。然后推送到NextViewController。

您可以在NextViewController中处理当前正在显示的webrequest,您可以根据响应重新加载视图。

修改

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {    NextViewController *detailViewController = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil];
    id obj = [_list objectAtIndex:indexPath.row];
    //[detailViewController startWebRequest];
    [detailViewController startWebRequestWithObject:obj];
    [self.navigationController pushViewController:detailViewController animated:YES];
    [detailViewController release];
}

如果需要传递任何对象,请将其传递给方法。在该方法中,启动webrequest。并处理NextViewController中的响应。