ошибка перехода от ZBar к другому виду - PullRequest
0 голосов
/ 09 марта 2012

хотел бы знать, как исправить эту ошибку.

Я буду

  QRReader = [ZBarReaderViewController new];
  [self presentViewController:QRReader animated:YES completion:nil];

в customoverlay У меня есть кнопка, которая будет вызывать

 [helpButton addTarget:self action:@selector(goToTips) forControlEvents:UIControlEventTouchUpInside];

-(void)goToTips
{
    [QRReader performSegueWithIdentifier:@"scannerToTips" sender:self];
}

, но когдая нажал на кнопку, я получу эту ошибку

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<ZBarReaderViewController: 0x3c5350>) has no segue with identifier 'scannerToTips''

1 Ответ

1 голос
/ 09 марта 2012

Хорошо, есть некоторые проблемы с кодом ...

  1. Seques - это функция, которая должна использоваться в iOS5 (и более поздних версиях), и только если вы выбираете раскадровки вместо xibs
  2. Если вы действительно используете seque, вы должны определить идентификатор в Интерфейсном Разработчике, нажав на свой seque и введя имя идентификатора в инспекторе
  3. Последовательность автоматически создает экземпляр вашего контроллера назначения , поэтому вам не нужно делать это вручную

Таким образом, правильный вызов seque будет:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    ZBarReaderViewController *QRReader = [segue destinationViewController];
    // So to hold a reference and pass any data
}

Но в вашем случае я предполагаю, что вы не используете переход ... Так что код, подобный этому, будет в порядке:

[helpButton addTarget:self action:@selector(goToTips) forControlEvents:UIControlEventTouchUpInside];

-(void)goToTips
{
  QRReader = [ZBarReaderViewController new];
  [self presentViewController:QRReader animated:YES completion:nil];
}

Я надеюсь, что это помогло ...

...