Не удается подключить IBOutlet в Интерфейсном Разработчике - PullRequest
25 голосов
/ 17 ноября 2009

У меня странный опыт. Я создаю приложение iPhone любого типа, добавляю UIViewController с Xib-файлом. Я могу отредактировать xib-файл с помощью элементов управления и посмотреть, как они отображаются при запуске. Теперь я пытаюсь добавить несколько IBOutlets в контроллер, поэтому я добавляю их в файл .h, синтезирую в файл .m. Затем я направляюсь в Interface Builder, чтобы соединить розетки. Я перетаскиваю UILabel в UIView, а затем пытаюсь подключить владельца файла (который является моим пользовательским UIViewController), но все, что я могу выбрать, когда пытаюсь подключиться к UILabel, - это «представление», что явно неверно. Поэтому я не могу подключить IBOutlets к их элементам управления в Интерфейсном Разработчике.

Есть идеи?

Ответы [ 19 ]

1 голос
/ 22 апреля 2014

Перезапуск Xcode 5.1 сделал это для меня.

1 голос
/ 18 января 2010

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

Это исправило это для меня. Я бы +1 диатреволо, но у меня пока нет репутации ...

1 голос
/ 10 марта 2013

Для меня проблема заключалась в том, что я создал MyUITextView, расширяющий UITextView, и X-код не сможет подключиться. Моим обходным решением было временно использовать UITextView в IBOutlet для подключения / ссылки, а затем перейти к моему собственному представлению.

Итак, я изменился.

IBOutlet MyUITextView *tv;

до

IBOutlet UITextView *tv;

, а затем подключен / связан. После подключения я изменил свой OBOutlet обратно на MyUITextView

IBOutlet MyUITextView *tv;
1 голос
/ 02 мая 2011

убивает меня каждый раз, но иногда, если вы просто закрываете и снова открываете xcode, все исправляется ... Просто со мной случилась именно эта проблема ...

0 голосов
/ 10 августа 2016

я выписал

@IBOutlet weak var title: UILabel!

в текстовом файле UIViewController, затем подключенный из файла к метке в раскадровке, и все заработало!

0 голосов
/ 10 февраля 2010

Я новичок в этом деле, и у меня была такая же проблема. Я пошел, чтобы попробовать предложение диатреволо, и при этом выяснил, что стало причиной моей проблемы. Первоначально я создал свой ViewController где-то случайно в иерархии проекта, а затем переместил их в папку классов. Это означало, что настоящие файлы не были в папке классов, но проект думал, что они были, поэтому IB искал не в том месте. Я переместил фактические файлы в фактический файл классов с помощью Finder, а затем удалил и прочитал их в проекте. Тогда все заработало!

0 голосов
/ 01 июля 2011

У меня тоже были проблемы, и в итоге мне удалось создать приложение до открытия Interface Builder. Voodoo!

0 голосов
/ 27 сентября 2010

После того, как я локализовал некоторые файлы XIB, представления не реагировали ни на какие обновления, сделанные в Интерфейсном Разработчике. Простым решением было удалить приложение из симулятора / устройства . Следующая версия Build & Run правильно обновила приложение.

Это происходило только при развертывании приложения через XCode на симуляторе. Похоже, XCode пытается оптимизировать сборку и запутывается.

0 голосов
/ 17 ноября 2009

Так что я не знаю точно, почему он не устанавливает соединения IBOutlet автоматически, но я нашел обходной путь. Мне пришлось вручную добавить розетки через библиотеку в Интерфейсном Разработчике для моего контроллера представления клиента. Если кто-нибудь найдет исправление для автоматического считывания из файла .h (как предполагалось), я был бы очень признателен, если бы он опубликовал его.

спасибо

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