È causato dalle IB_DESIGNABLE
definizioni nei file di intestazione di origine. Probabilmente crea problemi solo se il file di intestazione contenente IB_DESIGNABLE
è incluso (anche implicitamente) nel file di origine che stai modificando.
Non ho trovato una soluzione definitiva su come disabilitare IB_DESIGNABLE
e quindi compilare continuamente lo storyboard e i file sorgente. Gradirei un flag Xcode per disabilitarlo temporaneamente. Ho provato anche che circonda il IB_DESIGNABLE
con #ifdef
le macro, ma sono considerati anche se i #ifdef
FALSE. Commentare uno ad uno IB_DESIGNABLE
aiuta, ma non è una soluzione fattibile con molti IB_DESIGNABLE
s.
Aggiornare
Alla fine ho trovato un modo rapido per evitare questo comportamento fastidioso. Avendo lo storyboard aperto nella finestra attiva, disabilita "Aggiorna automaticamente le viste" dal menu Editor. Ciò interromperà l'aggiornamento delle visualizzazioni nell'editor dello storyboard che utilizzano il codice personalizzato e quindi accelerano notevolmente lo sviluppo. Quando hai bisogno di nuovo la compilazione just-in-time per avere un'anteprima visiva del tuo codice personalizzato, abilita di nuovo questa opzione (sembra che tu debba anche riaprire lo storyboard per farlo funzionare di nuovo).
Potresti voler aggiungere un'associazione chiave al comando, come command-option-control-A, per attivare / disattivare facilmente il comportamento. Per aggiungere un'associazione di tasti in Xcode, tocca la virgola di comando per le preferenze, seleziona la scheda Associazioni di tasti, usa la barra di ricerca per trovare il comando, quindi fai doppio clic sull'area giusta per aggiungere la sequenza di tasti desiderata.
Approccio "Lasciarlo spento"
In alternativa, disattiva "Aggiorna automaticamente le viste" e non accenderlo mai .
Premi una sequenza di tasti per "Aggiorna tutte le viste" , ad esempio command-option-shift-R
Mentre lavori, tocca semplicemente command-option-shift-R di volta in volta, o secondo necessità. In genere è necessario solo toccare command-option-shift-R mentre lavori sullo storyboard.