我,每次我創建一個新的行表視圖,不同的顏色是隨機產生改變它`背景。使用此功能:如何將隨機UIColor與swift中的顏色數組中的顏色進行比較?
func getRandomColor() -> UIColor{
let red:CGFloat = CGFloat(drand48())
let green:CGFloat = CGFloat(drand48())
let blue:CGFloat = CGFloat(drand48())
return UIColor(red:red, green: green, blue: blue, alpha: 1.0)
}
我將顏色存儲在一個數組中,這樣做我想避免在我的表視圖中的等於顏色。 在表視圖cellForRow在創建表時視圖的陣列被填充,這樣的:
colors.append(category.color as! UIColor)
類別是我的對象。
問題是,當我關閉應用程序,並再次啓動它。內存連續並開始隨機創建相同的顏色。所以我試圖比較顏色,以保持生成顏色,直到它是一種新顏色。使用此功能:
func validateColor(color: UIColor) -> Bool {
let primeiraCor = colors.first! as UIColor
if primeiraCor == color {
return false
} else {
return true
}
}
顏色是我的顏色的排列和色彩我想比較出彩。但每次調用該函數時都會返回true。
我該怎麼辦?
你總是用你的顏色數組的第一個元素進行比較 - 你需要遍歷所有的顏色,看看你是否有一個重複。 –
所以ü有一個[顏色]與10種的UIColor元素和當u創建一個隨機的顏色,u需要檢查,如果隨機生成的顏色陣列具有相同的元素,原始顏色陣列,如果其具有相同的元件u需要省略該陣列元素,並創建一個新的元素 – Koushik