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.