투케이2K

78. (swift/xcode) completion 사용해 콜백 (callback) 메소드 구현 실시 본문

Swift

78. (swift/xcode) completion 사용해 콜백 (callback) 메소드 구현 실시

투케이2K 2022. 7. 4. 15:03

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

import UIKit
import Foundation

class A_Intro: UIViewController {
    
    
    // MARK: - [클래스 설명]
    /*
    // -----------------------------------------
    1. 인트로 로딩 화면 액티비티
    2. 사용하는 스토리보드 : Main
    // -----------------------------------------
    */
    
    
    
    
    
    // MARK: - [빠른 로직 찾기 : 주석 로직 찾기]
    // -----------------------------------------
    // [SEARCH FAST] : []
    // -----------------------------------------
    
    
    
    
    
    // MARK: - [전역 변수 선언 실시]
    let ACTIVITY_NAME = "A_Intro"
    
    
    
    
    
    // MARK: - [뷰 로드 실시]
    override func viewDidLoad() {
        super.viewDidLoad()
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> viewDidLoad() :: 뷰 로드 실시]")
        print("====================================")
        print("")
        
        
        // [1] : 홀수 콜백 요청
        self.getCallBack(intData: 1, completion: { callback in
            print("")
            print("====================================")
            print("[\(self.ACTIVITY_NAME) >> getCallBack() :: [1] 번 콜백 확인]")
            print("callback :: \(callback)]")
            print("====================================")
            print("")
        })
        
        
        // [2] : 짝수 콜백 요청
        self.getCallBack(intData: 2, completion: { callback in
            print("")
            print("====================================")
            print("[\(self.ACTIVITY_NAME) >> getCallBack() :: [2] 번 콜백 확인]")
            print("callback :: \(callback)]")
            print("====================================")
            print("")
        })
        
    }
    
    
    
    
    
    // MARK: - [뷰 로드 완료]
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> viewWillAppear() :: 뷰 로드 완료]")
        print("====================================")
        print("")
    }
        
    
    
    
    
    // MARK: - [뷰 화면 표시]
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> viewDidAppear() :: 뷰 화면 표시]")
        print("====================================")
        print("")
        
    }
        
    
    
    
    
    // MARK: - [뷰 정지 상태]
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> viewWillDisappear() :: 뷰 정지 상태]")
        print("====================================")
        print("")
    }
        
    
    
    
    
    // MARK: - [뷰 종료 상태]
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> viewDidDisappear() :: 뷰 종료 상태]")
        print("====================================")
        print("")
    }
    
    
    
    
    
    // MARK: - [콜백 함수 정의 실시]
    func getCallBack(intData:Int, completion: (Bool)->()){
        
        // [짝수일 경우 true , 홀수일 경우 false 리턴]
        if (intData % 2 == 0){
            completion(true)
        }
        else {
            completion(false)
        }
    }

    
} // [클래스 종료]
 

[결과 출력]

 

 

반응형
Comments