Не удалось вставить новое действие подключения Ошибка - PullRequest
25 голосов
/ 24 августа 2011

Я получаю эту ошибку, когда пытаюсь создать новое действие для UIButton, перетаскивая синюю стрелку из UIButton в мой заголовочный файл (вы знаете, эта новая функция XCode 4 ...)

Когда я сам создаю действие в коде и подключаю его по-старому, просто перетаскивая от кнопки к Владельцу файла, оно хорошо работает

Вот скриншот: Error screenshot

Ответы [ 16 ]

23 голосов
/ 24 августа 2011

Убедитесь, что ваш файл .m существует в проекте и на диске. Убедитесь, что это правильно с блоком @implementaiton - @end. Откройте его в XCode, закройте его, если ошибка не исчезнет, ​​перезапустите XCode.

Xcode пытается записать в EditPUViewController.m (в методе dealloc и т. Д.), Но не может его найти.

Кроме того, это всегда помогает тщательно очистить проект с помощью + + + K .

21 голосов
/ 23 июня 2012

Попробуйте:

Откройте Органайзер, затем вкладку Проект.

Очистите «Производные данные».Xcode должен переиндексировать ваш проект, и смысл кода должен работать.По крайней мере, работал на меня.

8 голосов
/ 04 октября 2011

У меня была сопоставимая проблема при попытке подключить действие. Чтобы решить эту проблему, я вручную добавил IBAction, а затем XCode позволил мне подключиться от кнопки к коду.

7 голосов
/ 25 августа 2014

Перейдите в Xcode -> настройки -> вкладка местоположения -> производные данные -> очистить производные данные.

2 голосов
/ 25 февраля 2016

Я столкнулся с этой проблемой сам, но ни один из методов, представленных здесь, не работал для меня.Ошибка, описанная в приведенном выше вопросе, возникла, когда я попытался создать IBAction в заголовочном файле моего представления (.h), тогда как в моем файле реализации (.m) я даже не смог перетащить строку.(Xcode даже не показывал бы это маленькое всплывающее окно, где вы можете назвать свое действие.)

После нескольких часов попыток я понял, что причина, по которой я не смог создать IBAction, заключалась в том, что я удалил самопоследняя строка из моего .m файла. Xcode автоматически добавляет дополнительную пустую строку после @end разделителя при создании нового файла Objective-C.

Не спрашивайте меня, почему, но , если вы удалите этоЛиния Xcode не позволяет создавать какие-либо действия или розетки .(Это, очевидно, ошибка Xcode.)

Wrong

right

1 голос
/ 02 августа 2013

Я недавно сталкивался с этой проблемой.Вскоре я понял, что причиной было мое собственное дело.Ранее я отключил индексирование XCode (которое раньше занимало и израсходовало мою оперативную память), используя следующий код в окне терминала:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Чтобы вернуть XCode в его состояние по умолчанию, я использовал следующую строкув окне терминала:

defaults write com.apple.dt.XCode IDEIndexDisable 0

Вуаля!Все снова хорошо ..

1 голос
/ 28 февраля 2012

Я заметил, что файл .m был перемещен в папку en.lproj.

Просто удалите (только для справки) файл .m из Xcode и переместите .m из en.lproj.Добавьте его снова. Не волнуйтесь, вы получите все свои соединения обратно.

Это решит проблему.

0 голосов
/ 05 сентября 2018

В Xcode 9 у меня была такая же ошибка после перемещения .m файлов в проекте из одного каталога в другой. Удаление ссылок на файлы .m и их добавление снова решило проблему.

0 голосов
/ 16 ноября 2016

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

0 голосов
/ 20 марта 2015

user2175983 и ответ AstroCB хорошо сработали для меня:

  1. Просто удалите все производные данные, запустив эту командную строку в терминале:

    rm -frd ~ / Library/ Разработчик / Xcode / DerivedData / *

  2. Перезапустить Xcode

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