투케이2K

48. (ios/swift) 뷰 컨트롤러 동작 작업 확장 기능 추가 방법 - extension UIViewController 본문

IOS

48. (ios/swift) 뷰 컨트롤러 동작 작업 확장 기능 추가 방법 - extension UIViewController

투케이2K 2021. 11. 12. 07:50

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT


[소스 코드]

import Foundation
import UIKit
import SafariServices

// MARK: - [클래스 설명]
/*
1. Extension 관련 정의 파일
*/



// MARK: - [extension 정의 실시 : 뷰 컨트롤러]
extension UIViewController {
    
    // MARK: [팝업창 호출 처리 메소드]
    func showAlert(type:Int, tittle:String, content:String, okBtb:String, noBtn:String) {
        // [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
        DispatchQueue.main.async {
            print("")
            print("===============================")
            print("[S_Extension >> showAlert() :: 팝업창 호출 실시]")
            print("===============================")
            print("")
            
            // [UIAlertController 객체 정의 실시]
            let alert = UIAlertController(title: tittle, message: content, preferredStyle: UIAlertController.Style.alert)
            
            // [인풋으로 들어온 확인 버튼이 nil 아닌 경우]
            if(okBtb != "" && okBtb.count>0){
                let okAction = UIAlertAction(title: okBtb, style: .default) { (action) in
                    // [확인 버튼 클릭 이벤트 내용 정의 실시]
                    return
                }
                alert.addAction(okAction) // 버튼 클릭 이벤트 객체 연결
            }
            
            // [인풋으로 들어온 취소 버튼이 nil 아닌 경우]
            if(noBtn != "" && noBtn.count>0){
                let noAction = UIAlertAction(title: noBtn, style: .default) { (action) in
                    // [취소 버튼 클릭 이벤트 내용 정의 실시]
                    return
                }
                alert.addAction(noAction) // 버튼 클릭 이벤트 객체 연결
            }
            
            // [alert 팝업창 활성 실시]
            self.present(alert, animated: false, completion: nil)
        }
    }
}

 

반응형
Comments