如何将uitableviewcell数据填充到其他类?

时间:2014-02-04 05:13:47

标签: ios objective-c uitableview

我的代码段//

- (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:)];


    }

在响应之后它会跳转到另一个类,其中包含所有数据的列表,在我想用其填充的所有数据中,用户选择的数据

2 个答案:

答案 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建议的那样。