Inesperadamente encontrado IBOutlet nulo em prepareForSegue

Eu tenho um controlador de exibição de detalhes e gostaria de definir o texto do label como um valor obtido de um array usando uma linha indexPath.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if(segue.identifier == "showView"){ let detailVC: DetailViewController = segue.destinationViewController as! DetailViewController let indexPath = self.MainTableView.indexPathForSelectedRow! detailVC.label.text = "Test" self.MainTableView.deselectRowAtIndexPath(indexPath, animated: true) } } 

Eu continuo recebendo um erro fatal: inesperadamente encontrado nil ao desembrulhar um valor opcional. Eu tentei mudar detailVC.label.text = "Test" para detailVC.label.text = names[indexPath.row] mas sempre recebo o mesmo erro.

Usei as mesmas linhas de código para alterar o texto do label da célula, sem erros, mas para esse label no centro de uma exibição em branco, não consigo acertar? Qualquer pensamento sobre o que precisa ser mudado?

By the way, o label no controlador de exibição de detalhes é @IBOutlet weak var label: UILabel!

Você não pode acessar IBOutlet s de DetailViewController em prepareForSegue porque eles não estão conectados ainda.

Conforme mencionado nos comentários, crie uma propriedade String em DetailViewController , configure-a em prepareForSegue e defina a propriedade text do label em viewDidLoad ou viewWillAppear de DetailViewController .