У меня есть три цвета, и я хочу их сравнить. Должен ли я сделать Color совместимым с протоколом Equatable?
Код:
if Color.red == Color.green == Color.blue {
// do something
}
У меня есть три цвета, и я хочу их сравнить. Должен ли я сделать Color совместимым с протоколом Equatable?
Код:
if Color.red == Color.green == Color.blue {
// do something
}
Я действительно не понимаю, чего вы хотите достичь, но вы можете сравнить их, как
let colorr = UIColor(red: 122/255, green: 100/255, blue: 180/255, alpha: 1.0)
let rgbColorr = colorr.cgColor
let rgbColorrs = rgbColorr.components
Этот rgbColorrs
печатает и массив, как [0.47843137254901963, 0.39215686274509803, 0.7058823529411765, 1.0]
, как [red,green,blue,alpha]
if rgbColorrs[0] == rgbColors[1] == rgbColors[2]{
//....
}
Или если вы хотите сравнить равенство
if UIColor.red.isEqual(UIColor.green.isEqual(UIColor.blue)){
...
}
Color
для сравнения, как вы могли бы сUIColor
. Я бы также сказал, что если вы чувствуете, что вам нужно это сделать, у вас может быть более серьезная проблема с дизайном. - person New Dev   schedule 02.07.2020Color
, а не сам экземплярColor
. - person New Dev   schedule 02.07.2020