我正试图根据我在String中保存颜色的字典来更改一些UIButtons的backgroundColor。
即
button1.backgroundColor = dic!.valueForKey("Button1Color") as? UIColor
// in the dictionary:
Button1Color = "UIColor.redColor()"
我零分。为什么?
您可以将颜色存储为字符串,并使用一些库或代码片段(例如此处)将其转换为UIColor
并返回字符串。
或者,您可以将组成UIColor的4个Float
数字存储在类似于以下的方案中:
let bg1: [String:CGFloat] = ["red": 1, "green": 0, "blue": 0, "alpha": 1]
并且使用初始化器CCD_ 3来创建CCD_。
注意:这些是将数据持久化到磁盘的一些想法。显然,在内存只读数组中,您可以放置任何您喜欢的对象,包括UIColor
。