Всем привет! не так давно установил XCode, и по образу и подобию делал приложение, все сделал как в примере, но выдает ошибку, не могу понять в чем дело, надеюсь кто-нибудь может помочь.
43|690x431 Ссылка на файл https://yadi.sk/d/n861U5DtJeeZ8A
Ошибка Thread 1: signal SIGABRT, не запусакет в симуляторе
Используйте поиск на этом форуме: это первая ошибка и самая частая ошибка для новичка и такая тема всплывает один раз в месяц… Ответов море. Умение пользоваться поиском - необходимое условие для программирования )))
У вас проблема в связях между сторибордом и кодом. Создайте заново аутлеты. А то в сториборде указанно map, в коде Вы по всей видимости переименовали его в mapView. Такая же история и с текстфилдом вашим. Удалите существующие связи и протяните заново
Спасибо Дмитрий! действительно, была проблема с привязкой, заново протянул, но проблему это решило частично. Теперь симулятор открывает приложение, но как только начинаешь вводить текст, оно зависает, а Xcode начинает выводить ту же ошибку.
Посмотрите у каждого элемента нет ли старой привязки. Если это поле для ввода текста,то должна быть одна привязка в подменю
да, я на это обратил внимание еще вначале, и эта проблема была устранена, я не сильно силен в программе, и все это только осваиваю, может быть я что-то не понимаю. Если не трудно, взгляните https://yadi.sk/d/hu9HTqO082bsog
За что у вас отвечает данная строка
textField.addTarget(self , action: Selector(("textFieldDidChanged")), for: UIControl.Event.editingChanged)
по изменению нашего textField уведомления отправляются в self, при этом используется метод textFieldDidChanged.
изначально было прописано так: textField.addTarget(self, action: “textFieldDidChanged”, forControlEvents: UIcontrolEvents.EditingChanged)
но Swift начал ругаться, предложил изменить на новую версию, а новая версия выглядит вот так как вы показали.
Исправте на:
textField.addTarget(self , action: #selector(textFieldDidChanged), for: .editingChanged)
А к самой функции добавьте @objc
: @objc func textFieldDidChanged()
.
А ещё можете всего этого не писать и протянуть action c Event: Editing Changed: Постоянная проверка текста в textField