我想将检索到的图像从CoreData放到我的[UImage]数组中,但实际上这个给了我这个错误:无法将'MyApp.Image'(0x7fb4baea09d0)类型的值转换为'UIImage'(0x10c180758)。 / p>
以下是代码:
let request = NSFetchRequest(entityName: "ImageVen")
request.returnsObjectsAsFaults = false
let result:NSArray = try! context.executeFetchRequest(request)
if result.count > 0 {
for picture in result {
let immagin = picture as! UIImage
self.immaginiArrayVenerdi.append(immagin)
}
}
我该如何解决这个错误?谢谢!
答案 0 :(得分:0)
执行此操作时:
let result:NSArray = try! context.executeFetchRequest(request)
这意味着result
将是NSManagedObject
的数组。但是你这样做了:
for picture in result {
let immagin = picture as! UIImage
self.immaginiArrayVenerdi.append(immagin)
}
您不能只使用as!
从NSManagedObject
转换为UIImage
,因为它们是完全不同的类,甚至彼此不相似。如果您的实体ImageVen
的属性为UIImage
,则可以使用该属性的值。但是你不能告诉编译器进行转换,因为as!
没有给出足够的信息来知道如何。