var frameSizeInfo = [String:CGSize]()
frameSizeInfo["productSize"] = logs.productSize as CGSize
frameSizeInfo["pictureWithMatSize"] = logs.pictureWithMatSize
NSNotificationCenter.defaultCenter().postNotificationName("FrameSizeThings", object: frameSizeInfo)
我得到了错误:
无法将
[string:CGSize]
类型的值转换为预期参数 输入AnyObject?
任何人都能解释一下吗?
答案 0 :(得分:0)
试试这个
var frameSizeInfo = [String: NSValue]()
frameSizeInfo["productSize"] = NSValue(CGSize: logs.productSize as CGSize)
frameSizeInfo["pictureWithMatSize"] = NSValue(CGSize: logs.pictureWithMatSize)
NSNotificationCenter.defaultCenter().postNotificationName("FrameSizeThings", object: nil, userInfo: frameSizeInfo)
您使用object
参数作为对象发布通知,userInfo
参数 - 作为[NSObject : AnyObject]?
自定义参数字典
由于CGSize
是struct,因此无法将其强制转换为AnyObject
类型。使用NSValue
类和CGSize:
初始化程序包装CGSize
。您可以使用CGSizeValue()
方法将NSValue
个实例用于以后解包CGSize
。