didSelectRowAtIndexPath不会推送新的视图控制器,也没有错误

时间:2013-05-13 16:37:01

标签: iphone

我有一个新问题。我有一个表视图控制器,乍看之下工作正常。它打印出我的Nsmutabledictionary中的所有行。当我单击一行时,它会按预期触发此函数,而不会崩溃或给出系统错误:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

    SCInventoryLeaf *childView = [storyboard instantiateViewControllerWithIdentifier:@"inventoryleaf"];

    NSArray *keys = [arrInventory allKeys];
    id aKey = [keys objectAtIndex:indexPath.row];
    id anObject = [arrInventory objectForKey:aKey];
    childView.title = aKey;
    childView.price = [anObject objectForKey:@"price"];

    [self.navigationController pushViewController:childView animated:YES];
}

但由于某些原因,我的childView在onRowClick之后没有出现。我在故事板中正确命名了标识符。

可能有什么不对? shoudl我接下来要排除故障吗?

编辑 - 我还提到我在SCInventoryLeaf.m的viewDidLoad中放了一些断点,但它们似乎永远不会被解雇。所以我猜测SCInventoryLeaf.m从未使用过?但我很确定我在我的tblviewcontroller和scinventoryleaf之间建立了一种关系.......

1 个答案:

答案 0 :(得分:2)

输入断点并检查childView是否不等于nil。如果是,请仔细检查“inventoryleaf”是否正确。你拼写它是“InventoryLeaf”吗?如果需要,可以从故事板中剪切和粘贴 其余的代码看起来很好。