
Swift에서의 **오토레이아웃(Auto Layout)**은 iOS, iPadOS, macOS 앱 개발 시 다양한 기기와 화면 크기에 대응하여 UI 요소(뷰, 버튼 등)의 위치와 크기를 동적으로 관리하는 시스템입니다.

iOS의 AutoLayout
- 화면 크기가 각기 다른 iOS 기기 (아이폰, 아이패드 등)에서 UI(버튼, 레이블 등)가 잘 보이도록 위치와 크기를 '조건' 으로 지정해주는 레이아웃 시스템 입니다
- 제약조건(constraint)을 코드나 Xcode(인터페이스 빌더)에서 작성
- 이 버튼은 부모 뷰의 상단에서 10pt 아래에 위치하게 하기
- 이 레이블은 오른쪽에서 20pt 띄우게 하기




UITableView.reloadData() must be used from main thread only
(테이블뷰.reloadData()는 반드시 메인 스레드에서만 호출해야 한다)
원인은 ???
- UI 작업은 항상 메인 스레드(메인 큐, Main thread)에서만 해야 한다는 iOS의 규칙 때문입니다.
- 네트워크 요청 등은 기본적으로 백그라운드 스레드(메인 스레드가 아닌 곳)에서 동작합니다.
이런식으로 에러를 고쳐나가면서 JSON데이터를 가져와서 화면에 표시 해줄 수 있어요

스택뷰로 옵션을 넣었더니 자동으로 정렬이 되어지고 있어요 얼라이먼트 옵션에서 fill옵션에서 다른 옵션에서도 바꿀 수 있어요

이것은 Stack View안에 Stack View가 있는 모습이에요