Xcode продолжает строить раскадровку после каждого нажатия клавиши


мой проект Xcode с использованием раскадровки, введенной в очень странное состояние в последнее время: Xcode продолжает строить весь проект и особенно раскадровку после каждое нажатие клавиши. Я не нашел причин для такого поведения ни в моем проекте, различающем все интересные файлы (раскадровка и проект), ни в настройке в Xcode (может быть, я просто не мог его найти?) Излишне говорить, что эта "функция" делает работу над моим проектом почти невозможной, так как процессор постоянно занимает восстановление раскадровки при вводе нового кода. Кто-нибудь видел это?

2   133   2015-02-12 14:14:31

2 ответа:

это вызвано IB_DESIGNABLE определения в исходных заголовочных файлах. Вероятно, это создает проблему только в том случае, если заголовочный файл содержит IB_DESIGNABLE включается (даже неявно) в исходный файл, который вы сейчас редактируете.

Я не нашел окончательного решения, как отключить IB_DESIGNABLE и таким образом компиляция раскадровки и исходных файлов непрерывно. Я был бы признателен за флаг Xcode, чтобы временно отключить это. Я попытался также окружить IB_DESIGNABLE с #ifdef макросы, но они считаются даже если #ifdef принимает значение false. Комментируя один за другим IB_DESIGNABLE помогает, Но это не является целесообразным решением со множеством IB_DESIGNABLE s.

обновление

я, наконец, нашел быстрый способ избежать этого раздражающего поведения. Открыв раскадровку в активном окне, отключите "автоматическое обновление представлений" в меню редактора. Это остановит обновление представлений в Редакторе раскадровки, которые используют ваш пользовательский код, и, таким образом, ускорит ваше развитие значительно. Когда вам снова понадобится компиляция just-in-time для визуального просмотра вашего пользовательского кода, снова включите эту опцию (похоже, вам также нужно снова открыть раскадровку, чтобы она снова работала).

enter image description here

вы можете добавить привязку ключа к команде, например command-option-control-A, чтобы легко переключать поведение вкл/выкл. Чтобы добавить привязку ключа в Xcode, нажмите command-comma для параметров, выберите ключ Вкладка привязки, используйте строку поиска, чтобы найти команду, а затем дважды щелкните в правой области, чтобы добавить нужное нажатие клавиши.

"оставь это" подход

поочередно выключите "автоматически обновлять представления" и никогда не включайте его.

сделайте удобное нажатие клавиши для "обновить все вид", скажем command-option-shift-R

enter image description here

как вы работаете, просто коснуться command-option-shift-R время от времени или по мере необходимости. Как правило, необходимо только коснуться command-option-shift-R, когда вы работаете на раскадровке.

У меня была эта проблема, и принятый ответ не работал для меня.

проблема у меня была в том, что я всегда держу раскадровку открытой в своей собственной вкладке в XCode, чтобы я мог быстро получить к ней доступ.

единственный способ исправить это-закрыть эту вкладку или выбрать другой файл (например, обычный файл кода), а затем закрыть и снова открыть XCode. После этого он больше не перестраивался при каждом нажатии клавиши.

будьте осторожны, однако, если вам нужно открыть раскадровка, чтобы внести изменения, то эта проблема может иногда появляться, и мне придется повторить описанный выше процесс.

Не могу дождаться, пока Apple исправит это, так как это очень расстраивает!

(ノಠ益ಠ)