Jest to spowodowane IB_DESIGNABLE
definicjami w źródłowych plikach nagłówkowych. Prawdopodobnie stwarza to problem tylko wtedy, gdy plik nagłówkowy zawierający IB_DESIGNABLE
(nawet niejawnie) jest dołączony do pliku źródłowego, który aktualnie edytujesz.
Nie znalazłem ostatecznego rozwiązania, jak wyłączyć, IB_DESIGNABLE
a tym samym kompilować scenorys i pliki źródłowe w sposób ciągły. Byłbym wdzięczny za flagę Xcode, aby tymczasowo to wyłączyć. Próbowałem też otaczającej IB_DESIGNABLE
z #ifdef
makr, ale są one uważane nawet jeśli #ifdef
FALSE. Komentowanie jednego po drugim IB_DESIGNABLE
pomaga, ale nie jest to wykonalne rozwiązanie przy wielu przypadkach IB_DESIGNABLE
.
Aktualizacja
W końcu znalazłem szybki sposób na uniknięcie tego irytującego zachowania. Po otwarciu serii ujęć w aktywnym oknie wyłącz opcję „Automatycznie odświeżaj widoki” w menu Edytor. Spowoduje to zatrzymanie aktualizowania widoków w edytorze scenorysów, które używają niestandardowego kodu, a tym samym znacznie przyspieszy rozwój. Gdy będziesz potrzebować ponownie kompilacji just-in-time, aby uzyskać wizualny podgląd kodu niestandardowego, włącz tę opcję ponownie (wydaje się, że musisz ponownie otworzyć scenorys, aby znów działał).
Możesz chcieć dodać przypisanie klawisza do polecenia, takie jak polecenie-opcja-kontrola-A, aby łatwo włączać / wyłączać zachowanie. Aby dodać powiązanie klawiszy w Xcode, dotknij polecenia-przecinka, aby wyświetlić preferencje, wybierz kartę Wiązania klawiszy, użyj paska wyszukiwania, aby znaleźć polecenie, a następnie kliknij dwukrotnie prawy obszar, aby dodać żądane naciśnięcie klawisza.
Podejście „zostaw to”
Alternatywnie wyłącz opcję „Automatycznie odświeżaj widoki” i nigdy jej nie włączaj .
Wykonaj wygodne naciśnięcie klawisza „Odśwież wszystkie widoki” , powiedz polecenie-opcja-shift-R
Podczas pracy wystarczy od czasu do czasu lub w razie potrzeby dotknąć polecenie-opcja-shift-R. Zwykle konieczne jest dotknięcie polecenia-opcja-shift-R podczas pracy nad scenorysem.
Miałem ten problem i zaakceptowana odpowiedź nie zadziałała.
Problem polegał na tym, że zawsze utrzymuję scenorys w jego własnej karcie w XCode, aby móc szybko uzyskać do niego dostęp.
Jedynym sposobem, w jaki mogłem to naprawić, było zamknięcie tej karty lub wybranie innego pliku (jak normalny plik kodu), a następnie zamknięcie i ponowne otwarcie XCode. Od tego czasu nie był już odbudowywany po każdym naciśnięciu klawisza.
Ostrzegam jednak, że jeśli musisz otworzyć scenorys, aby wprowadzić zmiany, ten problem może czasami pojawić się ponownie i będę musiał powtórzyć powyższy proces.
Nie mogę się doczekać, aż Apple to naprawi, ponieważ jest to naprawdę bardzo frustrujące!
(ノ ಠ 益 ಠ) ノ 彡 ┻━┻
źródło