티스토리 뷰

반응형

어플리케이션에서 가장 많이 사용하는 기능은 알림창(Alert Dialog) 구현일 것입니다.


이런 알림창을 View Controller 마다 소스를 작성하는 것보다 Utils 클래스를 만들어서 구현하는 것이 소스 활용에 도움이 될 것입니다.


Utils 클래스의 AlertDialog 생성 소스 공유 드리겠습니다.


[SWIFT 3]

1
2
3
4
5
6
7
8
9
10
11
// MARK: 다이얼로그 관련 모듈
// Alert Dialog
class func showAlert(viewController: UIViewController?,title: String, msg: String, buttonTitle: String, handler: ((UIAlertAction) -> Swift.Void)?){
        
      let alertController = UIAlertController(title: title, message: msg, preferredStyle: .alert)
        
      let defaultAction = UIAlertAction(title: buttonTitle, style: .default, handler: handler)
      alertController.addAction(defaultAction)
    
      viewController?.present(alertController, animated: true, completion: nil)
}
cs


위 함수는 세 가지의 인자를 받도록 구현되었습니다. 


  • 첫 번째 인자(viewController) : 현재 어느 View Controller 에 보여줄 것인지 보여줍니다.
  • 두 번째 인자(title) : 다이얼로그 제목
  • 세 번째 인자(msg) : 다이얼로그 내용
  • 네 번째 인자(buttonTitle) : "확인" 버튼 이름
  • 다섯 번째 인자(handler) : 이벤트 핸들러 (Closer을 이용한 핸들러)



인자로 받은 View Controller 에 제목, 내용, 확인버튼 이름을 배치하여 사용자에게 Alert Dialog을 보여줍니다. 


공유드린 함수는 Class Function으로 '클래스명.showAlert()' 로 사용 할 수 있습니다.  

예를들면 'Utils' 이라는 Class 에 showAlert() 이라는 함수를 만들었으면, Utils. showAlert()으로 표현할 수 있습니다.

ex) Utils.showAlert()



앞으로 Swift 개발 하면서 도움이 될 만한 팁을 공유 하겠습니다.



반응형
댓글