Swift: добавить кнопки в массив без создания Outlet? - PullRequest
0 голосов
/ 17 мая 2018

Я новичок в программировании Swift.

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

Когда нажата одна из кнопок, изображение кнопки меняется («изображение2» с «изображение1»), и кнопка отключается.

Пока все хорошо.

Затем я попытался создать кнопку сброса, при которой кнопки, которые были нажаты, снова включаются, и изображение для них снова меняется на 'image1'.

Я сделал это, создав розетку для сбора для одной кнопки, а затем добавил несколько других, одну за другой.

@IBOutlet var mybuttons: [UIButton]!

Как я понимаю, это создает массив с кнопками. Затем я перехожу через этот массив, обновляю изображение и включаю кнопку с циклом:

for myBubble in self.bubble

Теперь мой вопрос: вместо того, чтобы перетаскивать каждую кнопку в коллекцию розеток, можно ли будет добавить их в массив при нажатии, а затем вместо этого запустить поверх этого массива?

Я пытался создать массив с

var mybuttons: [UIButton]!

и затем использовать append (sender) при нажатии кнопки, но это привело к фатальной ошибке.

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

Как уже упоминалось, я новичок в этом.

Заранее спасибо.

С уважением, Томас

1 Ответ

0 голосов
/ 17 мая 2018

Вы только что объявили свой массив кнопок, но не инициализировали его:

var myButtons = [UIButton]()

Таким образом, вы объявляете и инициализируете пустой массив и можете начинать добавлять к нему ваши объекты.

...