使用segue将解析数据从父视图传递到子视图

时间:2013-08-29 12:40:23

标签: ios objective-c uistoryboardsegue

我一直想在我所选单元格的文本字段中传递数据,但是我得到了一个完整的解析数据数组,在那里我NSLog数据,它让我看到我传递的数据,以及当我点击时的事情它给我一个例外的任何单元格,低于

[UITableViewController setParentKey:]: unrecognized selector sent to instance 0x7169670
2013-08-29 17:37:58.937 [8322:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setParentKey:]: unrecognized selector sent to instance 0x7169670'

当我从indexPathForSelectedRow.row获取数据数组时,我初始化了一个MutableArray以捕获目标视图中传递的数据,我的segue代码也是这样,我在这里做错了什么?

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"MySegue"]) {
        ChildTableViewController *myNextPage = [segue destinationViewController];
        myNextPage.parentKey = [[parsedData listPopulated]objectAtIndex:self.tableView.indexPathForSelectedRow.row];
        NSLog(@"segue value = %@", [[parsedData listPopulated]objectAtIndex:self.tableView.indexPathForSelectedRow.row]);
    } 
}

2 个答案:

答案 0 :(得分:1)

看起来您期待ChildTableViewController但收到UITableViewController。确保您的segue正在导航到您的想法。您也可以添加:

if ([myNextPage isKindOfClass:[ChildTableViewController class]])

这可能会阻止崩溃,但如果segue配置错误导致错误的视图控制器,你需要修复它以便segue做任何事情。

enter image description here

答案 1 :(得分:0)

显示您尝试设置parentKey UITableViewController的{​​{1}}属性实际上UITableViewController时出错,但没有名为parentKey的属性。因此,请确保将故事板中视图控制器的类正确设置为ChildTableViewController而不是UITableViewController