2015-08-10 2 views
0

Je reçois cette erreur et je ne sais pas pourquoi 'Impossible d'invoquer' insert 'avec une liste d'arguments de type' (Character, atIndex: Int) « »"Impossible d'appeler 'insert' avec une liste d'arguments de type" sur une image compressée

Ce code de son travail:

firstImageView.contentMode = .ScaleAspectFit 

let imageData = UIImageJPEGRepresentation(pickedImage,0.75) 

restaurante.imagem.insert(pickedImage, atIndex: imagemEscolhida-1) 

celui-ci n'est pas:

firstImageView.contentMode = .ScaleAspectFit 

let imageData = UIImageJPEGRepresentation(pickedImage,0.75) 

restaurante.imagem.insert(imageData, atIndex: imagemEscolhida-1) 

J'ai juste besoin d'enregistrer au tableau l'image compressée et je dois utiliser « Insérer » pour je peut choisir "imagemEscolhida-1" pour mettre l'image dans la bonne position ... Cela fonctionne avec le PickedImage, mais une fois qu'il est compressé ça ne marche pas.

merci.

+0

quel type est le tableau 'restaurante.imagem' de? '[UIImage]' ?! – luk2302

+0

Oui. 'static var imagem = [UIImage] (comptage: 5, repeatValue: UIImage())' –

+0

Eh bien ['UIImageJPEGRepresentation' renvoie' NSData! '] (https://developer.apple.com/library/ios/documentation/UIKit/Référence/UIKitFunctionReference/#/apple_ref/c/func/UIImageJPEGRepresentation), vous ne pouvez pas insérer cela dans un tableau 'UIImage', aucune idée pourquoi le message d'erreur dit' Character' si ... – luk2302

Répondre

1

imageData est un objet NSData. Vous devez le convertir en UIImage.

Essayez ceci:

firstImageView.contentMode = .ScaleAspectFit 

let imageData = UIImageJPEGRepresentation(pickedImage,0.75)! 
let compressedImage = UIImage(data: imageData)! 

restaurante.imagem.insert(compressedImage, atIndex: imagemEscolhida-1)