사용자에게 메세지를 전달해야할 때 코코아 터치 프레임워크 에서는 다음과 같은 기능들을 지원한다.
- 메시지창 ( 알림창 )
- 앱이 실행 중일 때만 동작한다. → 즉각적인 메시지 전달 불가
- 로컬 알림 ( 로컬 노티피케이션 )
- 푸시 메세지 → 앱을 켜놓지 않아도 됨
- 앱 내부에서 특정 프로세스에 의해 등록된 메시지를 iOS 가 전달하는 방식
- 서버 알림( 푸시 노티피케이션 )
- 푸시 메세지
- 별도의 서버를 통해 APNS 라는 애플 메시징 시스템에게 보낸 메세지가 네트워크를 통해 전달되는 방식
실습 - 메시지 알림창 (UIAlertController)
알림창, 액션 시트 둘중 하나 이용 가능하다.
이 둘의 차이는 모달 여부이다. 모달이란 창이 닫힐 때까지 그 창을 제외한 다른 부분은 터치를 할 수 없도록 잠긴다.
- 알림창은 모달 방식으로 화면에 표시되어 사용자는 오직 알림창의 선택버튼만 누를 수 있다. 누르기전까니는 다른 어떤 기능도 사용 불가.
- 액션 시트 창은 창이 떠 있는 동안에도 다른 영역을 건드릴 수 있으며, 그 결과로 액션시트창이 닫힌다. ( 모달 방식이 아님 )
UIAlertController 에서는 사용자가 원하는대로 버튼을 추가할 수 있다. 버튼 수만큼 UIAlertAction 객체를 구현해야한다.

코드를 작성해서 실행을 시키면 아래 화면처럼 alert 가 보인다.
두개의 액션까지는 가로로 배열되지만, 2개 이상부터는 세로로 길게 버튼이 생성된다.
또한 액션 추가 순서에 상관없이 .cancel 액션은 가장 밑에 위치한다. (이건 액션 시트에서도 동일하다)
