我在 UITableView
上创建,在其中点击任何单元格 (-didSelectRowAtIndexPath
) 调用与该单元格关联的 WebService。
问题是处理 JSON 响应,请求返回。 我应该从哪里处理该响应?
随着 View 的改变,当我点击表格的单元格时 (-didSelectRowAtIndexPath
);我必须将所有响应信息传递给下一个 View 。
问题是:我是否应该在点击单元格之后和加载下一个 View 之前调用该服务。或者坚持这种方式(这让我的代码难以管理。)
哪个事件最适合处理此事件,(-didSelectRowAtIndexPath
) 或下一个 View 的 (-viewDidLoad
)?
有什么建议吗?
谢谢。
最佳答案
选择一行后,分配 NextViewController。通过在 NextViewController 中编写一个 setter 方法,通知 NextViewController 该行已被选中。在该设置方法中,启动您的请求。然后推送到 NextViewController。
您可以在 NextViewController 中处理当前显示的网络请求,您可以根据响应重新加载 View 。
编辑
- (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
中处理响应。
关于iphone - 向 WebService 写入请求的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699965/