无法使用类型为“(数组:[NSData?])”的参数列表调用类型“NSSet”的初始化程序
Posted
技术标签:
【中文标题】无法使用类型为“(数组:[NSData?])”的参数列表调用类型“NSSet”的初始化程序【英文标题】:Cannot invoke initializer for type 'NSSet' with an argument list of type '(array: [NSData?])' 【发布时间】:2015-10-02 10:51:18 【问题描述】:更新到 swift 2.0 时出现此错误:
我已经进行了搜索,但仍然无法修复它。
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 不能包含在数组中
知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:UIImageJPEGRepresentation
返回一个可选项,NSSet
不接受可选项。
只需打开可选的:
NSSet(array:[UIImageJPEGRepresentation(object.image!, 1)!])
或者,如果图像表示可以是nil
,则使用可选绑定
if let imageData = UIImageJPEGRepresentation(object.image!, 1)
element.image = NSSet(array:[imageData])
【讨论】:
以上是关于无法使用类型为“(数组:[NSData?])”的参数列表调用类型“NSSet”的初始化程序的主要内容,如果未能解决你的问题,请参考以下文章