tableView的iOS问题:didSelectRowAtIndexPath没有触发窗口

时间:2011-05-03 14:25:36

标签: ios uitableview webview

第一次,请温柔......

我有一个iOS应用程序;标签式RSS阅读器,每个选项卡都有各种RSS源的不同导航视图。一切都很好,直到你选择行来查看Feed,什么都没发生。我正在使用的代码是:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    if (_webViewController == nil) {
        self.webViewController = [[[WebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]] autorelease];
    }
    RSSEntry *entry = [_allEntries objectAtIndex:indexPath.row];
    _webViewController.entry = entry;
    [self.navigationController pushViewController:_webViewController animated:YES];
}

其中RSSEntry是一个只设置RSS提要的变量的类。我已经设置了一个WebViewController.xib,m和h来保存视图。

当您选择行时,没有任何反应。感激地接受任何想法。

感谢

罗布

2 个答案:

答案 0 :(得分:0)

当你去使用它时,

_webViewController可能已被释放,因为你已经在if块中分配了它。在该块结束时,它是自动释放的。

在WebViewController的alloc语句中删除autorelease子句,并在调用pushViewController后添加[webViewController release]

答案 1 :(得分:0)

self.navigationController是否评估为非零?在某些情况下,属性navigationController可能不会指向您的封闭UINavigationController。我已经看到了特殊的视图控制器层次结构...