2015-08-10 4 views
0

Im получение этой ошибки и не знаю почему « Невозможно вызвать «вставить» с помощью списка аргументов типа »(Character, atIndex: Int) «»«Невозможно вызывать« вставить »с помощью списка аргументов типа« на сжатом изображении »

Этот код его работы:

firstImageView.contentMode = .ScaleAspectFit 

let imageData = UIImageJPEGRepresentation(pickedImage,0.75) 

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

Это один не является:

firstImageView.contentMode = .ScaleAspectFit 

let imageData = UIImageJPEGRepresentation(pickedImage,0.75) 

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

мне просто нужно сохранить в массив изображение сжимается и я должен использовать «Вставить» так Я может выбрать «imagemEscolhida-1», чтобы поместить изображение в нужное положение ... Он работает с PickedImage, но после его сжатия он не работает.

спасибо.

+0

какой тип массив 'restaurante.imagem' из? '[UIImage]' ?! – luk2302

+0

Да. 'static var imagem = [UIImage] (count: 5, repeatValue: UIImage())' –

+0

Ну ['UIImageJPEGRepresentation' возвращает' NSData! '] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/# // apple_ref/c/func/UIImageJPEGRepresentation), вы не можете вставить это в массив 'UIImage', не знаете, почему сообщение об ошибке говорит« Символ », хотя ... – luk2302

ответ

1

imageData - объект NSData. Вам нужно перевести его обратно в UIImage.

Попробуйте это:

firstImageView.contentMode = .ScaleAspectFit 

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

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