Ios Swift中不接受颜色属性

Ios Swift中不接受颜色属性,ios,swift,swift2,optional,uicolor,Ios,Swift,Swift2,Optional,Uicolor,我收到错误信息: 无法将类型[UIColor]的值分配给类型UIColor? 如果使用数组,请取消注释注释。不要将对象用作用户信息 var frameColorInfo = [String:UIColor]() frameColorInfo["frameColor"] = logs.frameColor frameColorInfo["matColor"] = logs.matColor // To store frame Color things NSNotificationCenter.

我收到错误信息:

无法将类型
[UIColor]
的值分配给类型
UIColor?


如果使用数组,请取消注释注释。不要将对象用作用户信息

var frameColorInfo  = [String:UIColor]()
frameColorInfo["frameColor"] = logs.frameColor
frameColorInfo["matColor"] = logs.matColor

// To store frame Color things
NSNotificationCenter.defaultCenter().postNotificationName("FrameColorThings", object:frameColorInfo)

let frameColor:[UIColor]
let matColor:[UIColor]

frameColor: [UIDeviceRGBColorSpace 0.92549 0.92549 0.92549 1]
matColor: [UIDeviceRGBColorSpace 0.92549 0.92549 0.92549 1]

您将
frameColor
matColor
定义为
[UIColor]
的数组,我认为这只是您的逻辑错误

[String:UIColor]
要求元素为
UIColor
,而不是数组

尝试将那里的声明更改为

var frameColorInfo  = [String:UIColor]()
frameColorInfo["frameColor"] = logs.frameColor//.first
frameColorInfo["matColor"] = logs.matColor//.first
NSNotificationCenter.defaultCenter().postNotificationName("FrameSizeThings", object: nil, userInfo: frameColorInfo)
然后在代码中使用

let frameColor:UIColor?
let matColor:UIColor?

logs.frameColor
可能是一个数组,而不是
UIColor
。用相关信息更新您的问题info@Shubhank:我正在尝试将颜色存储在frameColorInfo数组中更新您的问题,说明frameColor是如何在其源代码中声明的file@Shubhank:我更新问题请更新其声明方式而不是日志
var frameColorInfo  = [String:UIColor]()
// do optionally checking if you want here 
frameColorInfo["frameColor"] = logs.frameColor!
frameColorInfo["matColor"] = logs.matColor!