Не удалось вставить новое выходное соединение: не удалось найти информацию для класса с именем

У меня возникла ошибка в Xcode, в которой говорилось, что информации о контроллере не было.

Невозможно вставить новое выходное соединение: не удалось найти информацию для класса с именем

Почему это происходит?

Снимок экрана 1

+206
28 апр. '15 в 15:42
источник поделиться
23 ответа

Вот некоторые вещи, которые могут исправить это (в порядке возрастания сложности):

  • Очистите проект (Продукт > Очистить)
  • Вручную вставить

    @IBOutlet weak var viewName: UIView!
    // or
    @IBAction func viewTapped(_ sender: Any) { }
    

    и перетащите его на него. (При необходимости измените тип.) (Идея из этого ответа. Пожалуйста, повысьте его.)

  • Полностью закройте Xcode и перезапустите проект.

  • Удалите папку "Производные данные" (перейдите в Xcode > Настройки > Местоположение и щелкните серой стрелкой по папке "Производные данные", а затем удалите папку проекта.)
  • Нажмите "Удалить" в классе, удалите ссылку (не "Переместить в корзину" ) и добавьте ее снова. (см. этот ответ)
+364
04 дек. '15 в 7:22
источник

Связанные вопросы


Похожие вопросы

Или, если ничего из вышеприведенного не работает, сначала введите имя выхода в файл @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!, а затем щелкните и перетащите из розетки в наконечник в переменную, которую вы только что создали программно. Он должен работать без каких-либо хлопот по очистке, сборке и удалению чего-либо.

+97
12 янв. '16 в 0:47
источник

Просто выполните два следующих шага, чтобы избавиться от этой ошибки.

  • Очистить проект с помощью продуктa > clean
  • Запустите проект

Теперь попробуйте добавить действие или выход. Это.

Счастливое кодирование

+25
27 мая '16 в 7:10
источник

Это ошибка в XCode, и я не знаю, почему они этого не исправляют. Вы должны закрыть XCode и снова открыть. Когда вы попытаетесь снова установить розетки, но на этот раз оставите кучу ENTERS перед тем, как сделать это. Вам не нужно ничего удалять или тратить свое время на другие варианты...

Это решит ваши проблемы.

+13
22 июл. '16 в 16:05
источник

Вот шаги, которые были решены для меня:

  • Удалить ссылку на класс из представления (раскадровка/xib) и сохранить;
  • Добавить имя класса снова и сохранить;
  • Очистка и сборка;

Готово!

+10
06 сент. '16 в 15:03
источник

У меня была такая же проблема. Я устал ниже решений, но не работал:

  • Clean Project (cmd + shift + k) и даже Clean Project Build (cmd + shift + alt + k)
  • Deleted Derived data и Module Cache content

Ниже обходной путь к этой проблеме:

  • Перейдите в файл исходного кода и напишите IBOutlet / IBAction вручную (желательно скопировать ссылку)

Снимок экрана 1

  1. Затем перейдите в файл раскадровки и откройте окно Utilites
  2. Перейти к Connection Inspector
  3. Затем подключите IBOutlet и IBAction, записанные в исходный файл с помощью Interface Builder.

Снимок экрана 2

+8
21 сент. '16 в 11:12
источник

Я решил эту проблему, программно создав ярлыки и текстовые поля, а затем Command-Dragged из маленьких пустых кругов слева от кода компонентам на Storyboard. Чтобы проиллюстрировать свою мысль: я написал @IBOutlet weak var HelloLabel: UILabel!, а затем нажал Command и перетащил код в компонент на раскадровке.

+6
28 апр. '16 в 4:08
источник
  • Закройте проект, над которым вы работаете.
  • Удалить папку вашего проекта 【DerivedData】. (Эта папка может быть внутри вашей папке проекта или внутри ~/Library/Developer/Xcode/DerivedData/(ваш проект)/) или в другом месте, которое было настроено вами.
  • перезапустите проект.
+3
30 мар. '16 в 10:16
источник

Я просто ушел из Xcode, а затем снова открою его. компилятор будет перезагружать все файлы и может обнаружить файл, который вы ищете

+3
18 апр. '16 в 4:24
источник

Убедитесь, что у вас еще нет подключенной розетки в файле контроллера вашего вида. Я обнаружил, что так и сделал. После того, как я удалил его, у меня не было проблем.

+2
25 мая '16 в 11:44
источник

Для меня не работало ни одно из вышеперечисленных решений. Мне пришлось удалить контроллер представления, , который я скопировал и вставил снова в своем раскадровке, чтобы повторно использовать это. Затем я перетащил новый контроллер представления в раскадровку и каждую вещь получилось отлично:). Надеюсь, это поможет кому-то с той же проблемой.

+2
20 июн. '16 в 6:22
источник

не нужно ничего удалять. Просто добавьте розетку вручную @IBoutlet weak var imageName: UIImageView! и подключите его к изображению, перетащив эту розетку на изображение. поэтому остальные элементы можно просто подключить

+2
03 июн. '17 в 7:27
источник

Я нашел более легкое обходное решение, так как я эту ошибку можно найти на XCODE 9.

Шаг 1 перейдите к вашему диспетчеру просмотра и вручную напишите свойство, которое вы хотите подключить, как показано ниже, убедитесь, что вы используете следующий формат.

@IBOutlet weak var questionsStackView: UIStackView!

Шаг второй перейдите в свою раскадровку и подключите свой просмотр или что-то еще, что вы пытаетесь подключиться к свойству, созданному на шаге 1.

Вышеупомянутое позволит сэкономить время удаления и очистки полученных данных.

+2
02 окт. '17 в 10:12
источник

Для меня это сработало, когда на правой вкладке > Локализация, я проверил английский флажок. Первоначально была проверена только Base. После этого у меня не было больше проблем. Надеюсь, это поможет!

+2
16 февр. '16 в 14:57
источник

В моем случае это был bc. Я выбрал новый файл UIViewController в IB, а затем попытался выполнить ctrl-drag на этот новый контроллер без предварительного удаления предыдущих подключений в инспекторе соединений. Удалите их и повторите попытку.

+2
14 февр. '16 в 20:06
источник

Я получил эту ошибку, когда переименовал класс. Затем я решил это, выполнив следующие шаги

  • В меню Xcode → ProductClean
  • Restart Xcode
+1
02 авг. '17 в 19:13
источник

Ничего из этого не сработало для меня, но я понял это.

Внутри раскадровки я скопировал соответствующий ViewController в буфер обмена и удалил его, после чего я снова вставил его.

Неожиданно все снова работало как шарм!

0
12 сент. '17 в 12:54
источник

Я использовал xCode 7 и iOS 9.

в вашем .m

удалить #import "VC.h"

сохранить .m и снова подключить ваш выход, он отлично работает.

в вашем .m

добавить #import "VC.h"

сохранить .m

0
11 авг. '16 в 13:25
источник

У меня была такая же точная проблема. Убедитесь, что ячейки имеют идентификатор повторного использования. Представления таблиц с использованием динамических прототипов требуют, чтобы ячейки имели идентификатор повторного использования. Надеюсь, что это решает вашу проблему, как и моя:)

0
11 сент. '16 в 21:21
источник

Просто перезапустил XCode и больше не получил ошибку. Для меня это произошло, когда я переименовал класс

0
22 мар. '17 в 20:41
источник

Самое простое решение: - Я использовал xCode 7 и iOS 9.

в вашем .m

удалить #import "VC.h"

сохранить .m и снова подключить ваш выход, он отлично работает.

0
11 авг. '16 в 13:23
источник

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

0
08 мая '17 в 9:54
источник

Что сработало для меня, так это удалить ссылку на выход из раскадровки в файл .swift.

Затем очистите и снова подключите розетку, и это сработало...

Не знаю, почему это сработало.

0
03 июл. '17 в 6:10
источник

Посмотрите другие вопросы по меткам или Задайте вопрос