更新到swift 2.0时出现此错误:
无法为类型' NSSet'调用初始化程序。使用类型'(数组:[NSData?])'
我已经进行了搜索,但仍无法修复。
var object:UIImageView = UIImageView(frame: CGRectMake(0, 0, result.size.width, result.size.height))
object.image = UIImage(named: "image_default")
let element = NSEntityDescription.insertNewObjectForEntityForName("XKIMAGEVIEW", inManagedObjectContext: CoreDataUtil.sharedInstance.managedObjectContext!) as! XKIMAGEVIEW
element.image = NSSet(array:[UIImageJPEGRepresentation(object.image!, 1)])
最后一行只有错误
似乎NSData无法包含在数组中
有关如何解决此问题的想法吗?
答案 0 :(得分:1)
UIImageJPEGRepresentation
会返回一个可选项,NSSet
不接受选项
只需打开可选项:
NSSet(array:[UIImageJPEGRepresentation(object.image!, 1)!])
或者,如果图像表示可能是nil
,则使用可选绑定
if let imageData = UIImageJPEGRepresentation(object.image!, 1) {
element.image = NSSet(array:[imageData])
}