2016-01-19 1 views
0

J'essaye de télécharger un fichier d'image à Parse.com d'OS X en utilisant Swift. Recherche dans la documentation Parse.com (pour OS X) J'ai trouvé le code suivant:Quel est l'équivalent de UIImagePNGRepresentation() d'iOS pour OS X?

let imageData = UIImagePNGRepresentation(image) 
let imageFile = PFFile(name:"image.png", data:imageData) 

var userPhoto = PFObject(className:"UserPhoto") 
userPhoto["imageName"] = "My trip to Hawaii!" 
userPhoto["imageFile"] = imageFile 
userPhoto.saveInBackground() 

Le problème est qu'il utilise UIImagePNGRepresentation(), qui est de l'API iOS et non OS X.

Est-ce que quelqu'un sait comment le faire correctement sur OS X et Swift?

+0

Essayez avec cela et nous dire si cela a fonctionné: http://stackoverflow.com/questions/28229958/get-png-representation-of- nsimage-in-swift – Moritz

Répondre

0

L'équivalent de UIImagePNGRepresentation pourrait être quelque chose comme ceci:

let cgImgRef = image.CGImageForProposedRect(nil, context: nil, hints: nil) 
let bmpImgRef = NSBitmapImageRep(CGImage: cgImgRef!) 
let pngData = bmpImgRef.representationUsingType(NSBitmapImageFileType.NSPNGFileType, properties: [:]) 

// your code bellow 

let imageFile = PFFile(name:"image.png", pngData) 

var userPhoto = PFObject(className:"UserPhoto") 
userPhoto["imageName"] = "My trip to Hawaii!" 
userPhoto["imageFile"] = imageFile 
userPhoto.saveInBackground() 
+0

1) Qu'est-ce que l'image? 2) qu'est-ce que 'PFFile' et' PFObject'? Ils n'existent pas dans la documentation Apple, ils sont donc des bibliothèques tierces. Si vous les mentionnez, vous devez également spécifier où les trouver – Gargo

+0

C'est la ligne pngData. J'ai seulement insérer la ligne dans le code fourni par Plinio. Avez-vous lu le code de la question? – Sebastian