我在寫一個Swift extension
,它檢查數組中的兩個或多個CGPoint是否具有相同的座標。有了這個代碼,我可以檢查數組中的所有點。 但如何檢查幾個元素(不是全部)?查找幾個數組的元素是否具有相同的座標
這裏的延伸......
import Foundation
extension Array where Element : Equatable {
func equalCoordinates() -> Bool {
if let firstElement = first {
return dropFirst().contains { $0 == firstElement }
}
return true
}
}
如果兩個(或更多)紅色CGPoints具有相同的座標,必須將它們變成綠色的。
...在使用的ViewController方法equalCoordinates()
代碼:
func drawn() {
let colorArray = array.map { $0.pointCoord()[0] }
for dot in array {
for cPoint in dot.pointCoord() {
if colorArray.equalCoordinates() {
let altColor = dot.alternativePointColour()
draw(cPoint, color: altColor)
} else {
let color = dot.pointColour()
draw(cPoint, color: color)
}
}
}
}
...........
Swift.print(colorArray.equalCoordinates())
...........
你說的幾個意思?他們的範圍?他們的一組索引?一次一個? – ColGraff
@ColGraff一個範圍內的兩個或多個CGPoints。如果可能的話,用索引。 – andy
所以你還想要返回相等元素的索引? – ColGraff