прикрепить несколько полей UITextFields к одному iBOutlet - PullRequest
0 голосов
/ 13 апреля 2019

Я хочу связать несколько полей UITextFields с одним iBOutlet. Я попробовал предложение по следующей ссылке Несколько IBOutlets в одной линии одного типа в Swift

Но это не сработало, так как я получил следующую ошибку.

'weak' may only be applied to class and class-bound protocol types, not 
'Array<UITextField>'

 @IBOutlet weak var driverTextField: Array<UITextField>=[]

Simulator and code side by side.

По сути, я хочу подключить последние 3 поля UIText в симуляторе к текстовому полю драйвера.

Ответы [ 2 ]

1 голос
/ 13 апреля 2019

У вас есть:

@IBOutlet weak var driverTextField: Array<UITextField>=[]

Компилятор справедливо жалуется, что вы не можете сказать weak с массивом. Но вам нужен массив, чтобы сделать коллекцию розеток. Так что просто удалите weak и все будет в порядке.

В принципе, я хочу подключить последние 3 UITextfields в симуляторе к driverTextfield

Да, после удаления weak ваш код скомпилируется, и вы сможете настроить его в Интерфейсном Разработчике (раскадровка).

0 голосов
/ 30 апреля 2019

вы могли бы сделать «коллекцию розеток вместо». и получить доступ к каждому из выходов с помощью и для цикла и индекса. @IBOutlet var driverTextField: [UITextField]!

Select outlet collection from dropdown

Выберите коллекцию розеток в раскрывающемся списке и перетащите все розетки текстовых полей в эту розетку.

...