performans:Swift Derleyici ben oyun alanında çalıştırırken bir hata üretir Swift kod bu ifadesi var
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]]
hatadır:
expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions
Sonra ben sadece çalışan Double
için diziler eleman tipini değiştirdi ince. Bununla birlikte, bunun neden olduğunu kendime soruyorum. Double
'u kullanarak dediğim gibi çalışıyor. Bu yüzden benim tahminim Swift tipi tahmin etmeye çalışır ve bu nedenle Double
bu örnekte Float
'dan daha iyi çalışır.
Benzer sorunlar daha önce bildirilen ve edilmiştir: bu somut olayda
, açıkça bir Float için dizide her numarayı dönüştürerek etrafında çalışabilirsiniz otomatik tür çıkarımı. Apple'da bir hata raporu vermelisiniz. –Yorumunuz için teşekkür ederiz. Fakat eğer tür çıkarım sorunsa, bu gerçekten çözülebilir bir böcek değil, değil mi? Çünkü sorun benim listem değil, genel olarak tür çıkarım modeli. Çünkü bu liste son derece karmaşık bir şekilde genişletilebilirdi. – dehlen
Türler bağlamdan çıkarılabilir ve tek bir renk sözlüğü için çalışır, bu yüzden bir hata olarak düşünürdüm (ancak bir derleyici uzmanı değilim). - Bu somut durumda, dizideki her bir sayıyı açıkça bir Float'a dönüştürerek, etrafta çalışabilirsiniz: '[Float (240.0/255.0), ...'. –