我是 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/