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!