투케이2K

247. (ios/swift) global async Data contentsOf 사용해 간편 http 비동기 요청 및 이미지 뷰에 사진 표시 수행 실시 본문

IOS

247. (ios/swift) global async Data contentsOf 사용해 간편 http 비동기 요청 및 이미지 뷰에 사진 표시 수행 실시

투케이2K 2022. 11. 7. 09:03

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 메인 함수 정의 실시]
    func testMain() {
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
        print("====================================")
        print("")
        
        
        /*
         // -----------------------------
         [요약 설명]
         // -----------------------------
         1. 사전 info plist 설정 :
         
         App Transport Security Settings >> Allow Arbitrary Loads >> YES
         // -----------------------------
         */
        
        
        // [1] : 이미지 요청 주소 정의 실시
        let url = URL(string: "https://i.pravatar.cc/150?img=3")

        
        // [2] : global 비동기 요청 수행 실시
        DispatchQueue.global().async {
            
            // [3] : 이미지 >> Data 변환 실시
            do {
                let data = try Data(contentsOf: url!)
                
                // [4] : 이미지 뷰에 사진 표시 수행
                DispatchQueue.main.async {
                    self.imageView.image = UIImage(data: data)
                }
            }
            catch {
                print("")
                print("====================================")
                print("[\(self.ACTIVITY_NAME) >> testMain() :: catch 에러 발생]")
                print("error :: \(error.localizedDescription)")
                print("====================================")
                print("")
                
                // [5] : 에러 발생 시 로직 처리 실시
            }
            
        }
    }
 

[결과 출력]

 

 

반응형
Comments