将检索到的图像从coredata放到数组swift中

时间:2015-08-03 17:19:18

标签: arrays image swift core-data

我想将检索到的图像从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)
            }
        }

我该如何解决这个错误?谢谢!

1 个答案:

答案 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!没有给出足够的信息来知道如何。