iOS问题与tableView:didSelectRowAtIndexPath不触发窗口



第一次,请温柔点…

我有一个iOS应用;一个选项卡RSS阅读器,每个选项卡都有不同的RSS提要导航视图。一切正常,直到选择要查看提要的行,这时什么都没有发生。我使用的代码是:

- (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持有观点。

当您选择行时,什么都不会发生。如有任何意见,敬请接受。

感谢Rob

navigationController的值是非nil?在某些情况下,属性navigationController可能不会指向你的封闭的UINavigationController。我在特殊的视图控制器层次结构中见过这个

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

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

最新更新