2주차 배운 것들
명언 생성기 앱 / UIKit / UIViewController / AutoLayout / IBOutlet $ IBAction
LED 전광판 앱 / UINavigationController / ViewController Life Cycle / Asset
계산기 앱 / UIStackView

1주차를 지나고 2주차부터 본격적으로 앱을 만들어 보는 실습을 했습니다. 분명 Flutter도 처음에는 어색하고 불편하다고 생각했지만
점차 익숙해지는 걸 경험했기 때문에 xcode라는 낯선 개발환경에 문법적으로 차이가 있지만 중심축이 되어주는 개념들을 같기 때문에 분명 어렵고 낯선 환경이지만 적응해 나가고 있습니다. 이번 시간에는 주요 개념들에 대해 큰 그림 정도만 정리 해볼까 합니다.
UIKit은 프레임워크다. 앱을 빌드하는데 필요한 핵심 오브젝트 지원한다.
오브젝트들의 인터렉션, 콘텐츠 요소를 UIKit 지원하는 건데 플러터로 치면 위젯을 GUI로 보여주는 것이라고 볼 수 있을 것 같다.
제약을 주는
UIViewController는 앱의 기초가 되는 내부 구조다.
앱은 뷰컨트롤러로 이루어져 있고 어떤 앱이든 한 개 이상의 뷰컨트롤러를 가진다.
그 이유는 뷰컨트롤러가 뷰를 가지고 있음으로.
AutoLayout은 제약조건에 따라 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 동적으로 지정하는 것
디바이스의 방향, 스크린 사이즈, 혹은 일어날 어떠한 변화에 맞춰서 다이나믹하게 가능한 공간에 UI를 생성해주는 기능으로
한마디로 반응형 UI를 도와주는 아이이고 동시에 제약조건을 Constraints라 하는데
다른 객체를 이용해서 상대적으로 제약을 주는 것, 즉 어떠한 객체의 기준이 있다면 그 기준 대비 상대적으로 제약을 주는 것이다.
리딩(Leading)은 텍스트가 시작되는 지점으로 보통 왼쪽을 말한다.
트레일링(Trailing)은 텍스트가 끝나는 지점으로 보통 오른쪽을 말한다.
일반적인 왼쪽, 오른쪽의 개념과는 다르다고 할 수 있다.
IB
인터페이스 빌더(Interface Builder)의 약자
IBOutlet : 아울렛 변수
스토리보드 상에 선언한 View객체를 가리키는 변수
IBAction : 액션 함수
스토리보드 상에 선언한 View객체가 특정 이벤트가 발생했을 경우 호출되는 함수
UINavigationController는 계층 구조로 구성된 contents를 순차적으로 보여주는 container view controller
stack 구조로 구현 되어 있고 계층 구조 탐색으로 앱 content를 보여주기 적절
한번 한 child view controller의 content만 보여줌
LIFO, 라스트인 퍼스트아웃, 마지막에 들어간게 처음으로 나간다.
A container view controller that defines a stack-based scheme for navigating hierarchical content.
ViewController Life Cycle은 뷰컨트롤러의 생명주기로
1.init
2.loadView
3.viewDidLoad : 뷰컨트롤러 생에 딱 한 번 호출, 컨트롤러가 메모리에 로드된 후 호출, 시스템에 의해 자동 호출
4.viewWillAppear : 뷰 컨트롤러 화면이 올라오고 난 후 뷰가 화면에 나타나기 직전 호출
5.viewDidAppear : 뷰가 데이터와 완전히 화면에 나타난 후 호출되는 메소드
6.viewWillDisappear : 다음 뷰컨트롤러 화면이 전환하기 전이나 뷰컨트롤러가 사라지 직전에 호출되는 메소드
7.viewDidDisappear : 뷰컨트롤러들이 화면에서 사라지고 나서 호출되는 메소드, 화면이 사라지고 나서 필요없어지는(멈춰야하는) 작업을 할수 있다.
8.viewDidUnload
참고: https://tono18.tistory.com/11
Swift - View Controller Life Cycle (생명주기)
앱은 View Controller 로 이루어져 있는데, 이 View Controller 가 여러개일 경우가 대부분 일것 이다. 이 각각의 View Controller 는 생명주기를 가지고 있는데 View Controller 에서는 생명주기는 화면..
tono18.tistory.com

Asset은 앱에서 사용할 자료들으 모아놓은 곳이다.
UIStackView은 오토레이아웃을 이용해 열 또는 행에 뷰들의 묶음을 배치할 수 있는 간소화된 인터페이스이다.
StackView는 "Arranged Subviews" 프로퍼티에 들어있는 모든 뷰의 레이아웃을 관리합니다.
한마디로 스택 안에 있는 하위 뷰들의 레이아웃을 관리한다고 할 수 있습니다.
StackView의 축(axis), 분배(distribution), 정렬방식(alignment), 여백(spacing)에 따라 배치됩니다.
자세한 내용은 별도로 살펴볼 필요가 있을 것 같아 추후 업로드 예정입니다.
developer.apple.com/documentation/uikit/uistackview
'IOS' 카테고리의 다른 글
| 나만의 iOS 앱 개발 입문 : iOS개발 강의 5주차 (0) | 2022.03.28 |
|---|---|
| 나만의 iOS 앱 개발 입문 : iOS개발 강의 4주차 (0) | 2022.03.22 |
| 나만의 iOS 앱 개발 입문 : iOS개발 강의 3주차 (0) | 2022.03.15 |
| [Swift] 스토리보드 시작점 세팅하는 법 (0) | 2022.03.07 |
| 나만의 iOS 앱 개발 입문 : iOS개발 강의 1주차 (0) | 2022.03.01 |