Xcode 11 - я могу подключить действия, но не выходы?

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

Я следил за учебным видео из курса Swift, который я прохожу, но быстро понял, что Xcode не дает мне возможности подключать какие-либо розетки. Если я попытаюсь подключить UITextField, это даст мне возможность подключить действие. Если я попытаюсь подключить UILabel, он вообще не даст мне никаких вариантов. Я привык к тому, что мне давали возможность подключать Outlets, Outlet Connections и Actions на UITextField (и UIButton) и предоставляли единственный вариант Outlet на UILabel.

Я попытался решить проблему, установив «класс» ViewController, но не нашел для этого никаких вариантов.

Любой совет будет принят с благодарностью!!

попытка подключения UITextField Outlet

попытка подключения UILabel Outlet

UITextField не дает никаких вариантов, кроме действия

Репозиторий Github — https://github.com/plates-the-one/noOutlet


person plates    schedule 10.10.2020    source источник
comment
Можно ссылку на ваш проект? Я взгляну.   -  person aheze    schedule 10.10.2020
comment
Конечно! Выкладываю на Github, если получится. Извините, если я делаю что-то немного нетрадиционно; Я студент, и у меня нет большого опыта работы с более масштабными программами и т. д.   -  person plates    schedule 10.10.2020
comment
я тоже, без проблем!   -  person aheze    schedule 10.10.2020
comment
Мне кажется, все в порядке... imgur.com/a/cIbwiGd   -  person aheze    schedule 10.10.2020
comment
Я скачал ваш репозиторий github (крайне раздражающий zip внутри zip), и в раскадровке нет ни свойств экземпляра, ни текстовых полей, так о чем мы вообще говорим? — Кроме того, вы уверены, что редактируете правильную раскадровку? Что-то было в вашей LaunchStoryboard, но в раскадровке запуска нет такой вещи, как выход, потому что у нее нет связанного кода. Вы должны работать в раскадровке main. Но он пустой, как я уже сказал, поэтому я не понимаю, о чем вопрос.   -  person matt    schedule 10.10.2020
comment
Там нет контента, потому что обычно первое, что я делаю, это создаю свои торговые точки. Моя проблема в том, что я не могу создавать розетки в своей программе, но я полагаю, что это проблема, уникальная для моего компьютера. (также извините, я не знал, что Github автоматически сжимает файлы, я никогда не использовал его до сегодняшнего дня)   -  person plates    schedule 11.10.2020


Ответы (3)


Я предполагаю, что вы пытаетесь сделать все это в неправильной раскадровке. Работайте в Main.storyboard, а не в LaunchScreen.storyboard.

Также крайне важно выбрать инспектор удостоверений в раскадровке и изменить класс с UIViewController на ViewController.

person matt    schedule 10.10.2020

Я думаю, когда вы рисуете розетку, должно быть какое-то issue with the type.

Когда вы увидите всплывающее окно outlet connection ниже, измените тип представления с любого на соответствующий тип UIView (в вашем случае UITextField и UILabel)

Не забудьте изменить connection с Action на outlet после того, как вы изменили type

Это должно решить вашу проблему. Прокомментируйте, если это решит вашу проблему

Изменить тип с Any на UITextField/UILabel

person Teju Amirthi    schedule 10.10.2020
comment
Привет! К сожалению, это не сработало. Я изменил тип, и мне все еще не дали возможность изменить соединение. - person plates; 10.10.2020

Иногда Xcode придирчив, когда в раскадровке указан пользовательский класс. Обходной путь - написать @IBOutlet вручную и подключить его к элементу пользовательского интерфейса в раскадровке.

person Nico S.    schedule 10.10.2020