Transmitindo dados entre os controladores de exibição DidSelectRowsAtIndexPath Storyboards

Em um aplicativo de teste simples, eu tentei passar um objeto de matriz chamado "thisArray" doMasterViewController para a uma string chamada "passedData" noDetailViewController. Eu estou usando Storyboards e oUIViewController estão embutidos no controlador de navegação. Usando oprepareForSegue método, eu passei com sucesso os dados entre oUIViewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"pushData"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        DetailViewController *destViewController = segue.destinationViewController;
        destViewController.passedData = [thisArray objectAtIndex:indexPath.row];
    }
}

Agora, por algumas razões eu quero usardidSelectRowsAtIndexPath ao invés deprepareForSegue. Eu usei isso:

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSMutableString *object = thisArray[indexPath.row];
    detailViewController.passedData = object;   
}

Mas não funcionou. Eu usei o seguinte:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];

    NSMutableString *object = thisArray[indexPath.row];
    detailViewController.passedData = object;
    [self.navigationController pushViewController:detailViewController animated:YES];  
}

Mas também não funcionou.

QUESTÃO:

1) Como escrever corretamentedidSelectRowsAtIndexPath para substituirprepareForSegue?

2) Se eu usodidSelectRowsAtIndexPath, preciso remover a conexão de transição entre oUIViewController no storyboard?

3) E se realmente não houver conexão entre os controladores de visualização, como eu ainda posso passar os dados entre eles usandodidSelectRowAtIndexPath?

Obrigado!

ATUALIZAÇÃO: Com base na resposta e nos comentários que recebi, escrevi o seguinte:

Primeiro eu removi a conexão entre os controladores, configurei o ID do StoryBoardDetailViewController, o nome da classe também éDetailViewController.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"DetailViewController"
                                                  bundle:nil];
    UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"DetailViewController"];

    NSMutableString *object = thisArray[indexPath.row];
    detailViewController.passedData = object;
    [self.navigationController pushViewController:detailViewController animated:YES];
}

mas está ficando com o seguinte erro:

*** Aplicativo de finalização devido a uma exceção não identificadaNSInvalidArgumentException, motivo: "Não foi possível encontrar um storyboard chamadoDetailViewController em pacote

questionAnswers(1)

yourAnswerToTheQuestion