Exceção ao configurar o campo Nib Nome no Interface Builder
-
21-08-2019 - |
Pergunta
Eu estou tentando carregar um controlador de vista de uma ponta no Interface Builder. Minha configuração básica é esta:
MainWindow.xib contém: Todas as coisas habituais, a instância aplicativo delegado, a Janela etc.
A UINavigationController que tem um UIViewController como é Root View Controller. O nome nib do UIViewController está definido para o nome do xib que contém o meu controlador de vista.
O controlador de exibição no meu xib separado tem do proprietário do tipo de arquivo definido para a classe controlador para essa visão.
Sempre que as cargas de visão (ou seja, quando o aplicativo é iniciado), uma exceção é lançada afirmando que a minha classe de controlador não é-key-value de codificação compatível para a chave [inserir nome da variável aleatória aqui]. Na maioria das vezes a chave é um nome que eu dei a um botão ou qualquer outra coisa que eu tenha definido como um IBOutlet.
Por que isso está acontecendo? o que estou perdendo? Eu tentei criar propriedades para cada uma dessas variáveis ??para gerar KVC acessores compatíveis, mas ainda lança a exceção.
Qualquer ajuda seria fantástico, obrigado!
Solução
O aplicativo está tentando tratar sua UIViewController como um UINavigationController, o que não é.
subclasse a raiz View Controller como UINavigationController, em vez de UIViewController:
@interface rootViewController : UINavigationController {