Cela est dû aux IB_DESIGNABLE
définitions des fichiers d'en-tête source. Cela pose probablement problème uniquement si le fichier d'en-tête contenant IB_DESIGNABLE
est inclus (même implicitement) dans le fichier source que vous éditez actuellement.
Je n'ai pas trouvé de solution définitive pour désactiver IB_DESIGNABLE
et ainsi compiler le storyboard et les fichiers source en continu. J'apprécierais un drapeau Xcode pour le désactiver temporairement. J'ai aussi essayé autour de la IB_DESIGNABLE
avec des #ifdef
macros , mais ils sont considérés , même si les #ifdef
évalue à false. Commenter un par un IB_DESIGNABLE
aide mais ce n'est pas une solution réalisable avec de nombreux IB_DESIGNABLE
s.
Mettre à jour
J'ai finalement trouvé un moyen rapide d'éviter ce comportement ennuyeux. Après avoir ouvert le storyboard dans la fenêtre active, désactivez "Actualiser automatiquement les vues" dans le menu Editeur. Cela arrêtera de mettre à jour les vues dans l'éditeur de storyboard qui utilisent votre code personnalisé et accélérera ainsi considérablement votre développement. Lorsque vous avez à nouveau besoin de la compilation juste à temps pour avoir un aperçu visuel de votre code personnalisé, activez à nouveau cette option (il semble que vous deviez également rouvrir votre storyboard pour le faire fonctionner à nouveau).
Vous souhaiterez peut-être ajouter une liaison de clé à la commande, telle que commande-option-contrôle-A, pour activer / désactiver facilement le comportement. Pour ajouter une liaison de touches dans Xcode, appuyez sur commande-virgule pour les préférences, choisissez l'onglet Liaisons de touches, utilisez la barre de recherche pour trouver la commande, puis double-cliquez sur la zone de droite pour ajouter la frappe souhaitée.
Approche "Laissez tomber"
Vous pouvez également désactiver l'option "Actualiser automatiquement les vues" et ne jamais l'activer .
Effectuez une frappe pratique pour "Actualiser toutes les vues" , dites commande-option-shift-R
Pendant que vous travaillez, appuyez simplement sur commande-option-shift-R de temps en temps, ou au besoin. Il est généralement nécessaire de toucher commande-option-shift-R pendant que vous travaillez sur le storyboard.