Проблема iOS с tableView: didSelectRowAtIndexPath не запускает окно - PullRequest
0 голосов
/ 03 мая 2011

в первый раз, пожалуйста, будьте нежны ...

У меня есть приложение для 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

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

Оценивает ли self.navigationController ненулевое значение? В некоторых случаях свойство navigationController может не указывать на вложенный UINavigationController. Я видел это со специальными иерархиями контроллера представления ...

0 голосов
/ 03 мая 2011

_webViewController вероятно был выпущен, когда вы собираетесь его использовать, потому что вы разместили его в блоке if.В конце этого блока он автоматически освобождается.

Удалите предложение autorelease в вашем операторе alloc для WebViewController и добавьте [webViewController release] после вашего вызова pushViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...