UIAlertController를 만들어보며 깨달은 애플개발자문서 보는 방법

인생노잼시기·2021년 5월 11일
0

애플 개발자 문서 읽기를 다 읽기 어렵다는 푸념

애플 개발자 문서는 길고 모든 것이 다 나와있다

영어고 너무 길어서 어떻게 다 읽어야할지 감도 안온다
수학의 정석 합집합 교집합 수준으로 읽다가 끝을 못내서 항상 아쉽다
변명을 하자면 읽다보면 다른 개념이 나오고 그걸 또 읽으면 또 다른 개념을 이해하고 있어야하기 때문에 그런 거 같다
그래도 자주 쓰는 클래스와 delegate는 읽으면서 개발하고 있긴하다

효율을 따져봤을 때 필요한 부분만 찾아서 발췌독을 하면서 개발을 하는 게 맞다고 혼자 결론을 내렸다
그러다보면 언젠가 전체적인 흐름과 개념을 이해할 수 있는 날이 오겠거니 생각하고 있다

그런데 애플 개발자 문서를 어떻게 읽는 건지를 모르겠어...ㅋㅋㅋㅋ

꼼꼼한 재은씨의 스위프트 기본편을 통해 UIAlertController로 얼럿 메시지창을 만들면서 설명과 함께 애플개발자문서를 읽었다.
뭔가 깨달음을 얻은 거 같아서 기록해둔다

필요한 사전 지식

Style이 enum 데이터 타입일 때
UIAlertController.Style.alert는
.alert로 축약해서 표현할 수 있다
점은 enum타입의 변수임을 나타내기 때문에 절대 지우면 안된다

링크:
https://developer.apple.com/documentation/uikit/uialertcontroller


옥께
UIAlertController가 UIViewController를 상속받았다


이건 책에 나왔던 설명 덕분에 이해된 건데
UIViewController를 상속받았으니 present방식으로 alert를 띄울 수 있다는 말이다.


중요한 부분이라고 하는데 진짜 중요한 거 같아서
꼭 읽어보고 지나간다

as-is만 지원하고 subclassing을 지원하지 않는다.
뷰 계층이 독립적이고 수정되면 안된다.


그리고 바~~~로 예제 코드 보기

잠깐 눈에 발라본다
애플에서 제공하는 예제코드니 베스트가 아니겠나 생각이 들어
뭔가 이 예제의 모양을 흐트리고 싶지 않다. 😓

//뭔지는 모르지만... 객체생성
let alert = UIAlertController(title: "My Alert", message: "This is an alert.", preferredStyle: .alert)	//(1) (2)

//뭔지는 모르지만... 생성한 객체에 메서드 추가
alert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "Default action"), style: .default, handler: { _ in 
NSLog("The \"OK\" alert occured.")
}))		//(3)

//뭔지는 모르지만... 뷰에 생성한 객체를 나타냈구만?
self.present(alert, animated: true, completion: nil)

앞의 두꺼운 글자를 읽어본다

  • (1) AlertControleller 생성하기
  • (2) Alert 구성하기
  • (3) User Actions 구성하기
  • (4) Text Fields 구성하기
  • (5) 상수

예제코드의 첫번째 줄이 (1), (2)와 닮았다 AlertController
(1)의 init(생성자 메서드)을 통해 AlertController를 생성하고
(2)가 구성요소를 나타내는 구나... 그 데이터 타입이 String? 이랑 UIAlertController.Style이 있구나...

UIAlertController.Style이 뭔데? 하면
(5)에 설명되어 있겠지... enum타입으로 이미 선언되어 있고 클릭해보면
https://developer.apple.com/documentation/uikit/uialertcontroller/style

actionSheet와 alert가 있음을 알 수 있다.

AlertController 객체를 생성했는데 액션시트 스타일과 얼럿 스타일이 있구나


예제코드의 두 번째 줄이 (3)과 닮았다 addAction

func addAction(UIAlertAction)
Attaches an action object to the alert or action sheet.

alert 또는 action sheet에 붙는다?는 말이
생성된 alert객체에 alert.addAction 이렇게 붙는다는거구나...

근데 이제 UIAlertAction이 매개변수로 들어가는데
UIAlertAction이 뭔지 모르니까
타고 타고 들어가면 설명을 볼 수 있다.
https://developer.apple.com/documentation/uikit/uialertaction

UIAlertController 생성할 때랑 비슷하다
AlertAction을 생성자 메서드를 통해 생성하고
그 안에 들어가는 변수가 뭔지 설명되어 있고
enum으로 상수가 선언되어 있으면 클릭해서 확인해보면 된다
https://developer.apple.com/documentation/uikit/uialertaction/style


(4) Text Fields 구성하기
메시지 창에 텍스트 필드를 추가할 수 있다고 한다

이제 개발자 문서를 어떻게 보는지 알았으니
코드 쓰는 건 일도 아니지가 아니고 큰 산

산 넘어 산
그래두 고개고개 넘어가야지
화이팅👊

써놓고 보니 너무 당연한 말이네 허허

개쌉고수가 되어 어려운 내용도 술술 풀어내고 싶다🥺

profile
인생노잼

0개의 댓글