swift - 如何在具有相似名称的 socket 上执行相同的方法,而不是写出数十次非常相似的行?

标签 swift xcode methods outlet

我有这些 channel ...

@IBOutlet weak var pill1: UIImageView!
@IBOutlet weak var pill2: UIImageView!
@IBOutlet weak var pill3: UIImageView!
@IBOutlet weak var pill4: UIImageView!
@IBOutlet weak var pill5: UIImageView!
@IBOutlet weak var pill6: UIImageView!
@IBOutlet weak var pill7: UIImageView!
@IBOutlet weak var pill8: UIImageView!
@IBOutlet weak var pill9: UIImageView!
@IBOutlet weak var pill10: UIImageView!

我需要将它们全部隐藏在“viewDidLoad”函数中。例如...

self.pill1.isHidden = true
self.pill2.isHidden = true
self.pill3.isHidden = true
etc... 
etc....all the way to...
self.pill10.isHidden = true

但是,我该如何使用“for 循环”或任何需要的东西来使其更加清晰,而不是编写数十次非常相似的重复行。

例如,

for index in 1...10 {

   pill(insert index here somehow).isHidden = true

}

我尝试了几种不同的方法,但是我遇到了字符串类型等错误。我对这一切都很陌生。任何帮助表示赞赏。谢谢

最佳答案

您可以将 View 放入数组中,如下所示:

for pill in [pill1, pill2, pill3, pill4, pill5, pill6, pill7, pill8, pill9, pill10] {
    pill.isHidden = true
}
<小时/>

您可以考虑使用@IBOutlet集合。在这种情况下,所有 socket 都将连接到同一个集合(数组)变量:

@IBOutlet var pills: [UIImageView]!

for pill in pills {
    pill.isHidden = true
}

关于swift - 如何在具有相似名称的 socket 上执行相同的方法,而不是写出数十次非常相似的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40414247/

相关文章:

iphone - 将一个对象分配给另一个对象时,到底会发生什么,保留对象还是对象的整个副本?

xcode - 在 Xcode for Titanium 中绘制线条不透明度

java - 如何调用和声明具有可变数量参数的方法?

java - 识别同一调用堆栈中的重复调用 - java

ios - Swift 在闭包中传入变量

ios - 如何在不显示确认屏幕的情况下直接发送消息?

ios - map View 中注释的标注操作

swift - 我的快速方法没有输出

swift - 我可以在案例模式中使用强制转换吗?

ios - 在 Swift 中从 NsDIctionary 获取值(value)