#ios #xcode #swift #xcode6
#iOS #xcode #swift #xcode6
Вопрос:
У меня есть проект в xCode 6 с использованием Swift (мой самый первый опыт разработки приложений для iOS).
У меня возникли проблемы с жестами (они работают даже после удаления их из раскадровки), и я решил удалить ViewController, с которым у меня возникла проблема. Программа, скомпилированная в том виде, в каком она все еще существует. Затем я решаю удалить и удаляю ссылку на файл main.storyboard, и все работает так же, как и раньше.
Я считаю, что это связано с управлением версиями
Где хранятся эти контроллеры просмотра и даже раскадровка?
Комментарии:
1. К вашему сведению, использование бета-версии языка в бета-среде IDE для бета-версии ОС, вероятно , не лучшее место для начала изучения чего-либо
2. Я согласен. Но я всегда хотел разрабатывать для iOS, а Objective-C сильно отличается от всех других языков, которые я знаю. У Delphi есть решение для создания приложений для iOS, но оно работает только в Windows (и вам все еще нужен Mac для имитации). По всем этим причинам я продолжаю пытаться 😉
Ответ №1:
Используя раскадровку, иногда вы создаете некоторую связь между вашими элементами и / или некоторой частью вашего кода.
Эти ссылки останутся даже после удаления элемента, если вы не удалите саму ссылку.
Чтобы выполнить правильное удаление, вам следует сначала right click
удалить элемент, который вы хотите удалить, и отключить все его ссылки. Затем вы можете безопасно удалить свой элемент:
Комментарии:
1. Большое спасибо. Я верю, что это произошло, и я позабочусь о том, чтобы это не повторилось. Что делать, когда эти ссылки сохраняются на удаленный компонент? Где они в коде? Есть ли какой-либо способ удалить их вручную после?
2. Ну, в принципе, если вы установите (например)
viewController
A в качестве делегата дляScrollView
B, то при удалении компонента B вы сгенерируете ошибку того же типа. Факт в том, что эта ссылка все еще существует, поскольку все еще существует компонент, обрабатывающий ее (в данном случае ViewController A), в большинстве случаев я бы рекомендовал проверить вашnavigator panel
и посмотреть ссылку на подозрительный компонент.