我在UITableView
创建,其中,点击任何一个单元格(-didSelectRowAtIndexPath
)调用与该单元格关联的WebService。
问题是处理JSon响应,请求返回。 我应该从哪里处理这种反应?
当视图发生变化时,我点击表格的单元格(-didSelectRowAtIndexPath
);我必须将所有响应信息传递给下一个视图。
问题是:在点击单元格之后和下一个视图加载之前是否应该调用该服务。或坚持这种方式(这使我的代码无法管理。)
哪个事件最适合处理下一个视图(-didSelectRowAtIndexPath
)或(-viewDidLoad
)?
有什么建议吗? 谢谢。
答案 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
中的响应。