Как исправить проект, который Interface-Builder fubar'd - PullRequest
6 голосов
/ 07 мая 2011

Помогите un-fubar interface-builder в XCode4.

Я создал кнопку в конструкторе интерфейсов и определил метод IBAction для нее в коде представления. Все прошло нормально. Затем я переименовал метод действия кнопки, используя инструмент рефакторинга / переименования XCode. Все прошло нормально.

Затем я удалил кнопку в конструкторе интерфейсов, выбрав кнопку и нажав клавишу удаления. Когда я перестраивал проект, кнопка все еще была в симуляторе. Вернувшись в конструктор интерфейсов, кнопка исчезла. В коде нет ссылки на кнопку, но метод IBAction кнопки все еще там.

Что еще хуже, вызывается оригинальный метод действия кнопки, который, конечно же, генерирует исключение селектора во время выполнения для не найденного селектора. Когда я выполняю поиск проекта по имени исходного метода действия, ничего не найдено, но среда выполнения все еще пытается вызвать его. Я сделал "чистый" и восстановить, но не радость.

Если я пытаюсь открыть файл .xib как список свойств ASCII, он сообщает, что данные были повреждены. (Я понял это.)

Можно ли исправить это, кроме удаления файла .xib и создания нового представления?

А что делает "clean", если не удаляет двоичные файлы?

Спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 09 мая 2011

Попробуйте iOS Simulator -> Сбросить содержимое и настройки.(Чтобы сэкономить время, Xcode пытается скопировать ресурсы перед запуском, только если эти ресурсы изменились, но если все пошло не так…)

1 голос
/ 19 марта 2012

Очистка не работает для меня. По моему опыту, Xcode хранит кэш «скомпилированного .xib» без учета временных отметок (попробуйте переключить xib для одного с тем же именем). Мое исправление состояло в том, чтобы изменить каждое представление, которое нужно было обновить. Очень расстраивает, но это работает.

0 голосов
/ 08 мая 2011

Попробуйте зайти в Xcode, чтобы Построить> Очистить все цели, это должно исправить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...