2016-12-08 2 views
1

나는 이름 Assets.xcassets의 이미지가 city_00,city_01,...,city_10 나는선택한 이미지를 저장하기 위해 문자열로 변환하는 방법은 무엇입니까?

let cityImages: [UIImage] = [UIImage(named: "city_00")!,UIImage(named: "city_01")!,.....UIImage(named: "city_10")!] 

그런 다음 배열을 저장 나는 그들이

var imageSelected = [UIImage]() 
var cityImage:UIImage? 

    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
     let cell = collectionView.cellForItem(at: indexPath) 
     collectionView.allowsMultipleSelection = false 
     cityImage = imageSelected[(indexPath as NSIndexPath).row] 
} 
을 원하는 도시를 선택하는 사용자를 내 프로젝트에 collectionview를 사용하여 허용 그들에게 전화

저는 선택한 이미지를 문자열로 다시 변환하여 데이터베이스에 저장하는 것을 좋아합니다. 어떻게해야합니까?

+1

그럼 이름 문자열 ('city_00', ...)을 저장하면 실제 문제는 무엇입니까? – Tj3n

+0

이름 문자열이 정수보다 많은 공간을 차지하므로 궁금한 점이 있습니다. – leaner122

+1

공간을 더 차지합니까? 그것의 몇 가지 더 많은 바이트, 그것은 당신이 전체 이미지를 저장하는 것 같지 않아요 .... 만약 당신이 몇 바이트를 낭비하고 싶지 않다면 Int는 괜찮습니다. 00,01을 저장하세요. – Tj3n

답변

1
let cityImageData = UIImagePNGRepresentation(cityImage) 
let imageString = cityImageData?.base64EncodedString() 
+0

모델에 string 유형의 storedImage라는 속성이 있습니다. 이 치명적인 오류가 발생했습니다 "reason = 원본 및 대상 특성 형식이 호환되지 않습니다." – leaner122

+0

코어 데이터를 사용하고 있습니까? 그러나 이미지 문자열을 alt + click을 클릭하면 이미지가 문자열로 변환됩니다. 모델의 attr에 대해 잘 모르겠습니다. ibute, 아마도 당신은 할 수 있습니다. 내가 도울 수 있도록 더 많은 코드 스 니펫을 보내십시오. –

+0

감사합니다. 편집 된 질문을 참조하십시오. 핵심 데이터를 사용하고 있습니다. – leaner122

관련 문제