prepareForSegue não envio de parâmetros quando chamado, resultando em um acidente
-
21-12-2019 - |
Pergunta
Eu tenho dois seguem sair da minha vista inicial do controlador.O impulso segue é conectado à célula e o modal está ligado ao + UIBarButtonItem.
Quando este é o meu prepareForSegue código parece, está tudo bem e o caminho do arquivo é enviado através do push segue, mas o caminho não é transmitido através do modal segue.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showTimes"]) {
[[segue destinationViewController] setFilePath:filePath];
}
// if ([[segue identifier] isEqualToString:@"addEvent"]) {
// [[segue destinationViewController] setFilePath:filePath];
// }
}
Se eu descomente a segunda instrução se e segue identificador, o aplicativo falha.filePath é enviada a lugar nenhum.Eu tentei mover [[segue destinationViewController] setFilePath:filePath];
de ambas as afirmações se uma tentativa de garantir que a linha foi executada, mas que também bloqueia o meu app.
Ambos seguem têm o correto identificadores de conjunto de backup na caixa de Atributos.No entanto, eu não tenho certeza de que o Xcode é realmente perceber que o correto identificadores são definidas até porque quando eu mudar o segue tipos, essas alterações não são refletidas na próxima vez que executar o aplicativo.
Eu estou em uma perda sobre o que fazer.Eu sou relativamente novo para Objective-C.
Solução
O addEvent
segue aponta para um controlador de navegação, não o controlador de visualização.Em vez disso, obter a sua view controller e defina o caminho do arquivo em que:
[[[segue destinationViewController] topViewController] setFilePath:filePath];