2016-12-15 6 views
0

나는 base64 문자열로 UIImage를 인코딩하려고합니다. "치명적인 오류 : 선택 사양 값 풀기 동안 예기치 않게 전무 발견"내가 잘못 뭐하는 거지base64로 UIImage보기 인코딩

@IBOutlet weak var photoImageView: UIImageView! 

let image : UIImage = UIImage(named:"photoImageView")! 
let imageData:NSData = UIImagePNGRepresentation(image)! 
let strBase64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 

문제가 내가 이런 종류의 오류를 얻을 수 있습니다 : 내 코드는 무엇입니까?

+0

로, 이미지 자산으로 초기화되기 때문에

let image = photoImageView.image 

입니까? – Enix

+0

this one : let 이미지 : UIImage = UIImage ("photoImageView")! – markan3

+1

"photoImageView"가 프로젝트에 추가되었는지 확인하고 철자, 대문자, 소문자를 확인하십시오. – prasad

답변

0

Prasad의 의견은 현재 실행중인 문제 일 가능성이 큽니다.

옵션을 반환하는 함수의 경우 일반적으로 if - let 구문 또는 가드를 사용하여 실수로 임의로 사용하지 않도록합니다.

if let image = UIImage(named:"photoImageView") { 
    if let imageData = UIImagePNGRepresentation(image) { 
     // swift 2 
     // imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 

     // swift 3 
     let strBase64:String = imageData.base64EncodedString(options: [.lineLength64Characters]) 
    } else { 
     print("can't get PNG representation") 
    } 
} else { 
    print("can't find photoImageView image file") 
} 
0

@Enix 귀하의 의견은 트릭을 만들었습니다. 내 문제에 대한 해결책이 줄 당신이 지적한있는 UIImage가 아닌 이미지보기이 오류가 않았다 라인