Swift 5,iOS 13
我得到了这个代码。这太可怕了。
var horizonalOpacity = [Bool](repeating: false, count: 24)
self.horizonalOpacity[0] = true
self.horizonalOpacity[1] = true
self.horizonalOpacity[2] = true
self.horizonalOpacity[3] = true
self.horizonalOpacity[4] = true
self.horizonalOpacity[5] = true
self.horizonalOpacity[6] = true
self.horizonalOpacity[7] = true
self.horizonalOpacity[8] = true
self.horizonalOpacity[9] = true
self.horizonalOpacity[10] = true
self.horizonalOpacity[11] = true
我可以替换为这个代码,这是可以的。
for loop in 0...11 {
self.horizonalOpacity[loop] = true
}
但我能做得更好吗?我能用一下地图吗?或者数组切片?
发布于 2020-06-12 18:08:58
关于
var horizonalOpacity = [Bool](repeating: true, count: 12) +
[Bool](repeating: false, count: 12)
发布于 2020-06-12 18:11:49
您还可以尝试使用mapInPlace
扩展建议的here
extension MutableCollection {
mutating func mapInPlace(_ x: (inout Element) -> ()) {
for i in indices {
x(&self[i])
}
}
}
然后你只需写下:
horizonalOpacity.mapInPlace { $0 = true }
https://stackoverflow.com/questions/62349932
复制相似问题