Swift:在不创建Outlet的情况下向数组中添加按钮?

时间:2018-05-17 06:14:55

标签: arrays swift button append

我是Swift编程的新手。

我创建了一个包含多个相同按钮的应用。我创建了一个带动作的按钮,然后多次复制此按钮,以便它使用相同的动作。

当按下其中一个按钮时,按钮的图像会发生变化('图像2'来自'图像1和#39;),该按钮被禁用。

到目前为止一切顺利。

然后,我尝试创建一个重置按钮,其中已按下的按钮再次启用,并且他们的图像更改回' image1'。

我是通过为单个按钮创建一个收集插座,然后逐个添加其他一些插件来实现此目的。

@IBOutlet var mybuttons: [UIButton]!

据我所知,这会创建一个带按钮的数组。 然后我查看这个数组并更新图像并启用按钮,循环:

for myBubble in self.bubble

现在,我的问题是:不必将每个按钮拖动到插座集合,是否可以在按下它们时将它们添加到数组中,然后在该数组上运行?

我尝试用

创建一个数组
var mybuttons: [UIButton]!

然后在按下按钮时使用append(sender),但这会产生致命错误。

如上所述,我可以通过简单地将所有内容添加到插座集合来解决这个问题,但是想知道是否有更优雅的方法来实现它,因为有很多按钮。

如上所述,我是新手。

提前致谢。

祝你好运, 托马斯

1 个答案:

答案 0 :(得分:3)

您刚刚声明了您的按钮数组但未初始化它:

var myButtons = [UIButton]()

这样您可以声明并初始化一个空数组,然后就可以开始将对象附加到它了。