生成顏色物件時,整數相除是可以的 !

在Swift裡,整數運算200 / 255 的結果也會是整數,所以會是0。不過在剛剛生成UIColor物件的例子裡,200 / 255竟然奇蹟似地變成0.784,這是怎麼回事呢?

這不是奇蹟,一切的祕密都藏在UIColor的init裡。

public init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)

由於它將red宣告為CGFloat,所以聰明的Swift知道200 / 255要轉成浮點數再做運算。就好像以下的例子一樣:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store