[iOS] ByteArray to SwiftUI Image

라보·2024년 9월 5일
0
post-custom-banner

Server로 부터 이미지 URL이 아닌 ByteArray로서 Image를 표현할 때, ByteArray -> Data(base64Encode) -> UIImage -> Image 순으로 변환이 필요함.

extension Image {
    init?(data: Data) {
        if let uiImage = UIImage(data: data) {
            self = Image(uiImage: uiImage)
        } else {
            return nil
        }
    }
}
extension String {
    var toUIImageString: String {
        let imgString1 = self.replacingOccurrences(of: "\n", with: "")
        let imgString2 = imgString1.replacingOccurrences(of: "\\", with: "")
        
        return imgString2
    }
 }
struct someView : View {
	var body : some View {
    
	  VStack {
    	  Image(data:Data(base64Encoded: someByteArray.toUIImageString))
  	  }
   }
}

위와 같은 방법으로 간단하게 해결 할 수 있음.

profile
RTFM
post-custom-banner

0개의 댓글