arrays - Swift:在不创建 Outlet 的情况下将按钮添加到数组?

标签 arrays swift button append

我是 Swift 编程的新手。

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

按下其中一个按钮时,按钮的图像会发生变化(“image2”从“image1”变为“image2”),并且按钮被禁用。

到目前为止一切都很好。

然后我尝试创建一个重置按钮,再次启用已按下的按钮,并且它们的图像变回“image1”。

我通过为单个按钮创建一个集合导出,然后一个接一个地添加一些其他按钮来做到这一点。

@IBOutlet var mybuttons: [UIButton]!

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

for myBubble in self.bubble

现在,我的问题是:不必将每个按钮都拖到 outlet 集合中,是否可以在按下它们时将它们添加到数组中,然后遍历该数组?

我尝试创建一个数组

var mybuttons: [UIButton]!

然后在按下按钮时使用 append(sender),但这会产生 fatal error 。

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

如前所述,我是这方面的新手。

提前致谢。

最好的问候, 托马斯

最佳答案

您刚刚声明了您的按钮数组但尚未对其进行初始化:

var myButtons = [UIButton]()

通过这种方式,您可以声明并初始化一个空数组,然后您可以开始将对象 append 到它。

关于arrays - Swift:在不创建 Outlet 的情况下将按钮添加到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50384516/

相关文章:

c++ float* 数组作为对 std::vector<float> 的引用

ios - react swift : Observe Managed Object changes with MutableProperty

ios - 在主包中搜索 XIB

javascript - 使用 javascript 事件监听器更改按钮的文本

javascript - jQuery 从数字字符串创建 int 数组

android - 带有onclick的android图像按钮上的JSON数组响应

ios - 'DayCalendarUnit 已弃用。改为使用 NSCalendarUnitDay' 不起作用

ios - 将推送 segue 添加到 tableview 的自定义单元格内的按钮

python - 按下时更改 matplotlib 按钮颜色

php - 删除数组的重复项