2013-06-22 1 views
0

В раскадровке из UITableView добавлено одно имя с именем bSegue и имя класса bSegue Identifier - abcViewController.Storyboard не содержит контроллер вида с идентификатором 'bSegue' '

В коде писать как

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
UIViewController *viewController; 
switch (indexPath.row) { 
    case PDF: 

     viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"bSegue"]; 
     break; 
      default: 
     viewController = [[UIViewController alloc] init]; 
} 
[self.navigationController pushViewController:viewController animated:YES]; 
} 

, но когда пытался запустить приложение он показывает ошибки NSInvalidArgumentException «причина:» раскадровки() не содержит контроллер с идентификатором „bSegue“

вид

Я дважды проверял его идентификатор segue правильно, то почему он дает эту ошибку.

Любые идеи.

Благодаря

ответ

1

Вы путаете идентификаторы зрения контроллера с идентификаторами SEGUE.

Ваша линия [self.storyboard instantiateViewControllerWithIdentifier:@"bSegue"] смотрит в раскадровке для контроллера представления с Storyboard ID из bSegue.

То, что вы хотите сделать, это вызвать идентификатор SEGUE вы создали с performSegueWithIdentifier:sender:

так он будет выглядеть [self performSegueWithIdentifier:@"bSegue" sender:nil];

+0

Спасибо ценю ваш вклад. Это сработало. – user1120133