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

Image for post
Image for post

在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要轉成浮點數再做運算。就好像以下的例子一樣:

Image for post
Image for post

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com

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