解析从服务器获取图像(getDataInBackground不起作用)

时间:2020-10-12 23:28:39

标签: ios parse-platform swiftui

我是编码新手。 尝试将图像从“解析”追加到[UIImage],但收到错误“无法将类型PFFileObject的值转换为预期的参数类型UIImage。 如何将PFFile转换为UIImage

@Published var profileManageImages =  [UIImage]()

ForEach(uploadMedia.profileManageImages, id: \.self) { picture in
     Image(picture)

func refreshSideScroll() {
    let currentUser = PFUser.current()
        
    let query = PFQuery(className: "Photos")
    query.whereKey("uploadedBy", equalTo: currentUser!)
    query.limit = 8
    query.findObjectsInBackground(block: { (objects: [PFObject]?, error: Error?) in
        if error == nil {
             for images in objects!{
             self.profileManageImages.append(images["image"] as! PFFileObject)
             }
        }
    })
}

1 个答案:

答案 0 :(得分:0)

您仍然需要从PFFileObject获取图像数据,例如

query.findObjectsInBackground(block: { (objects: [PFObject]?, error: Error?) in
    if error == nil, let objects = objects {
         for object in objects {
            if let file = object["image"] as? PFFileObject {
               file.getDataInBackgroundWithBlock{(data: NSData?, error: NSError?) in
                 if error == nil, let data = data, let image = UIImage(data: data) {
                    DispatchQueue.main.async  {
                        self.profileManageImages.append(image)
                    }
                }
            }
             
         }
    }
})