Как загрузить таблицу из .nib при выборе элемента в предыдущей таблице?

#objective-c #ios #uitableview #ios4

#objective-c #iOS #uitableview #ios4

Вопрос:

На данный момент у меня есть приложение для iOS, которое запускается с NavigationView (корневого представления) и таблицы, содержащейся в корневом представлении под панелью навигации. Я пытаюсь загрузить другое представление (надеясь сделать его другой таблицей) из файла .nib, когда выбрана первая строка в исходной таблице. Как я могу это сделать?

Любая помощь или совет будут оценены. Большое вам спасибо.

Ответ №1:

Вам необходимо использовать UITableViewDelegate метод, tableView:didSelectRowAtIndexPath:

Убедитесь, что делегат вашего tableview установлен на ваш контроллер представления внутри Interface Builder, или если вы не используете interface builder..

 [tableView setDelegate:self];
  

Затем ваш контроллер представления примет UITableViewDelegate протокол и ответит на tableView:didSelectRowAtIndexPath: выбор строки.

Загрузка вашего нового представления при выборе первой строки будет реализована следующим образом..

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    if(indexPath.section == 0){ // the first row

        MyView *myView = [[MyView alloc] init];

        [self.navigationController pushViewController:myView animated:YES];

        [myView release];

    }

}
  

Комментарии:

1. Спасибо — это именно то, что у меня есть. Однако по какой-то причине мое приложение вылетает при выборе строки и не загружает представление.

2. Строка отлично выбирается в первом представлении, но второе представление не загружается, а затем приложение вылетает.