我的代码段//
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// [tableView deselectRowAtIndexPath:indexPath animated:YES];
if(indexPath.section == 0)
{
if(indexPath.row == 1)
{
WebServiceHandler *handler = [[WebServiceHandler alloc]init];
handler.requestType = eSuburb;
NSMutableURLRequest *searchDetailsRequest = [Service parseGetSuburb:nil];
NSLog(@"user details request of str== %@",searchDetailsRequest);
[handler placeWebserviceRequestWithString:searchDetailsRequest Target:self Selector:@selector(getListOfSuburb:)];
}
在响应之后它会跳转到另一个类,其中包含所有数据的列表,在我想用其填充的所有数据中,用户选择的数据
答案 0 :(得分:1)
不确定你是如何做到这一点的,但是如果你使用segues就是这样的。在此示例中,我的每个表格单元格都在NSMutableDictionary中包含它们的相关信息。接收视图控制器具有NSMutableDictionary属性以接收所有已发送的数据。最后两行创建一个ViewController对象,其Dictionary属性等于从表视图中选定单元格发送的Dictionary。
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSString *identifier = segue.identifier;
if ([identifier isEqualToString:@"SegueName"]) {
// first get data
NSIndexPath *selectedIndexPath = self.tableView.indexPathForSelectedRow;
NSMutableDictionary *cellData = self.aDictionary[selectedIndexPath.row];
ViewController *nextViewController = segue.destinationViewController;
nextViewController.aDictionary = cellData;
}
}
答案 1 :(得分:0)
我建议不要在这里使用回调方法。这不是实现这一目标的正确方法。
根据我的理解,你想要做的是一旦用户选择一行,你希望将所选行的数据传递回viewcontroller(让我们假设'vcA'),这个数据调用了一个带有tableview的那个('vcB ')......
如果是这样,你应该创建一个协议,因此使用委托来通知viewcontroller'vcA'关于选择事件,因此传递所需的数据,就像@inertiatic建议的那样。