我有很多图像,它们被命名为 image0、image1、image2...、image(x)。
我的问题是如何访问他们的名字,因为我想将它们全部放入数组中,例如:
@IBOutlet weak var image0: UIImageView!
@IBOutlet weak var image1: UIImageView!
@IBOutlet weak var image2: UIImageView!
@IBOutlet weak var image3: UIImageView!
@IBOutlet weak var image4: UIImageView!
@IBOutlet weak var image5: UIImageView!
...
@IBOutlet weak var image15: UIImageView!
var counter: Int = 0
var items :[[UIImageView]] = []
for i in 0..<4{
for j in 0..<4{
items[i][j]=image(counter) //this line should be something that image0,1..x assign to the array
counter += 1
}
}
}
最佳答案
您可以通过以下代码来完成此操作。
swift 3
var items : [[UIImageView]] = []
let myMirror = Mirror(reflecting: self)
for i in 0..<4 {
items.insert([UIImageView](), at: i)
for j in 0..<4 {
let propertyName = "image\(i*4 + j)"
items[i].insert(myMirror.descendant(propertyName) as! UIImageView, at: j)
}
}
但是,这不是开发人员使用的代码,请考虑使用 UICollectionView
关于ios - 如何访问变量名称并将字符串更改为它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40585591/