2017-07-25 3 views
0

Ok, j'ai regardé des questions comme How do you access an object's fields from a Parse query result in Swift? mais la réponse ne fonctionne pas à Swift 3. Avec ce qui suit en essayant d'obtenir une image de la première PFObject dans Parse je reçois l'erreur:Swift 3: impossible d'obtenir une image de Parse?

Cannot convert value type NSData, NSError -> Void to expected PFDataResultBlock ?

var query = PFQuery(className: PARSE_CLASS!) 
      query.order(byDescending: "createdAt") 
      query.findObjectsInBackground { 
       (objects, error) -> Void in 

      if error == nil { 
       //print(objects?.first?["testTxt"] as! NSString) 
       //print(objects?.first?["testImg"] as! PFFile) 

       let thumbnail = objects?.first?["testImg"] as! PFFile 
       thumbnail.getDataInBackgroundWithBlock{(imageData: NSData?, error: NSError?) -> Void in 
        if error == nil { 
         if let image = UIImage(data: imageData!) { 
//get image here 

         } 
        } 
      } 
     } 

J'ai essayé de changer le type et tout. Comment puis-je stocker une image à partir de Parse dans Swift récent?

Répondre

1

Vous pouvez essayer ceci:

if let validObjects = objects { 
    for object in validObjects { 
     let thumbnail = object["testImg"] as? PFFile 
     thumbnail?.getDataInBackground (block: { (data, error) -> Void in 
     //read image here 
     } 
    } 
}