É causado pelas IB_DESIGNABLE
definições nos arquivos de cabeçalho de origem. Provavelmente, isso só causa problemas se o arquivo de cabeçalho que contém IB_DESIGNABLE
estiver incluído (mesmo implicitamente) no arquivo de origem que você está editando no momento.
Não encontrei uma solução definitiva para desabilitar IB_DESIGNABLE
e, assim, compilar o storyboard e os arquivos de origem continuamente. Eu apreciaria um sinalizador Xcode para desativar isso temporariamente. Eu tentei também cercar o IB_DESIGNABLE
com #ifdef
macros, mas eles são considerados mesmo se o valor for #ifdef
falso. Comentar uma a uma as IB_DESIGNABLE
ajudas, mas não é uma solução viável com muitos IB_DESIGNABLE
s.
Atualizar
Finalmente encontrei uma maneira rápida de evitar esse comportamento irritante. Com o storyboard aberto na janela ativa, desative "Atualizar automaticamente vistas" no menu Editor. Isso interromperá a atualização das visualizações no editor de storyboard que usam seu código personalizado e, assim, aceleram significativamente seu desenvolvimento. Quando você precisar novamente da compilação just-in-time para ter uma visualização visual do seu código personalizado, ative esta opção novamente (parece que você também precisará reabrir o storyboard para fazê-lo funcionar novamente).
Você pode adicionar uma ligação de chave ao comando, como command-option-control-A, para ativar / desativar o comportamento facilmente. Para adicionar uma ligação de tecla no Xcode, toque em comando-vírgula para obter preferências, escolha a guia Ligações de teclas, use a barra de pesquisa para encontrar o comando e clique duas vezes na área direita para adicionar o pressionamento de tecla desejado.
Abordagem "deixe para lá"
Alternativamente, desative a opção "Atualizar automaticamente vistas" e nunca a ligue .
Faça um pressionamento de tecla conveniente para "Atualizar todas as visualizações" , diga command-option-shift-R
Enquanto trabalha, basta tocar em command-option-shift-R de tempos em tempos ou conforme necessário. Geralmente, é apenas necessário tocar em command-option-shift-R enquanto você trabalha no storyboard.