无法获取从字符串到UIColor的值



我正试图根据我在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

最新更新