Я получил этот оператор в коде Swift, который вызывает ошибку при выполнении на игровой площадке:
let colors: [String: [Float]] = ["skyBlue" : [240.0/255.0, 248.0/255.0, 255.0/255.0,1.0],
"cWhite" : [250.0/255.0, 250.0/255.0, 250.0/255.0, 1.0]]
Ошибка: expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions
Затем я изменил тип элемента массивов на Double
, который просто отлично работает.
Однако я спрашиваю себя, почему это происходит?
Как я сказал, используя Double
, он работает отлично. Поэтому я предполагаю, что Swift пытается угадать тип, и поэтому Double
работает лучше в этом примере, чем Float
.