Иногда я вижу, что внесенные мной изменения появляются при третьем или четвертом прогоне сборки. Это как если бы xcode «кэшировал» старую компиляцию.
Как удалить все скомпилированные файлы и начать с нуля
Одна вещь, которая особенно расстраивает это:
Я получил предупреждение о компиляции
для этого кода:
[self.currentBusiness addCategoriesObject: self.currentCategory];
Я знаю, в чем проблема. Автоматически сгенерированный основной код данных не имеет
- (void) addDistrictsObject: (District *) значение;
- (void) addCategoriesObject: (Категория *) значение;
на Business.h. Хотя функция определена в Business.m.
Итак, я добавил эти 2 строки. Угадайте, что, все еще то же предупреждение. У меня была точно такая же проблема несколько раз без проблем. Я знаю решение. Я положил линию прямо там в бизнесе. Ничего не меняется.
Тем не менее, теперь я получаю то же самое предупреждение компилятора, даже если метод ЯВНО определен в business.h.
Как будто xcode не заботится о последнем внесенном мною изменении.
Я так расстроен. Я снова добавил #import "Business.h" в мой utilities.h. Ничего не должно меняться, учитывая, что «Business.h» уже включен через другой канал. Угадайте, что это работает.
Но тогда я подумал: ах, в этом проблема. Я с любопытством удалил этот // # import "Business.h" снова, чтобы он вернулся как обычно. Если это действительно проблема, то ошибка должна появиться снова, верно? Неправильно.
Ошибка ушла.
Таким образом, сделанные мной изменения не сразу показывают результаты. Либо компилятор, либо прекомпилятор должен использовать какой-то кэш.
Это важно. Есть ошибки, которые были введены за 2-3 сборки до этого, я не знаю, как отлаживать. Если код изменяется сразу после первой сборки после внесения этого изменения, я знаю, что что-то не так.
Кроме того, автоматическое восстановление не работает. Я создаю снимок, восстанавливаю снимок в другой каталог и получаю много ошибок компиляции.