将 Parse 中的对象保存为图像而不是 Swift 中的 PFFileObject

Save object from Parse as image instead of PFFileObject in Swift

我正在尝试将图像从 Parse 保存到列表中。现在我将图像保存为 PFFileObject,但我想将它们保存为 uiimages。 我正在使用此代码:

var weblinks = [String]()
    var webnames = [String]()
    var webobjects= [PFFileObject]()
    var webimages = [UIImage]()

func fetchFromParse() {
        let query = PFQuery(className:"FirstClass")
        query.findObjectsInBackground { (objects, error) -> Void in
            if error == nil {
                for object in objects! {
                    self.webnames.append(object["webnames"]! as! String)
                    self.weblinks.append(object["weblinks"]! as! String)
                    self.webimages.append(object["webobjects"]! as! PFFileObject
                }
                self.myCollectionView.reloadData()
            } else {
                print(error!)
            }
        }
    }

如何将图像保存为 webimages 而不是 webobjects?

您不能将图像直接保存为 UIImage,因为 Parse 不知道那是什么。

PFFileObject 的存在是为了帮助您上传任何类型的文件,例如图片,只要其转换为 Data

UIImage 中获取 Data 对象就像

一样简单
let data = image.pngData()

并且您可以使用这样的 Data 对象初始化图像

let image = UIImage(data: data)

两种方法 return 可选,因此您必须处理该问题,但您可以使用 PFFileObject 上的 Data 值将图像上传到 Parse。