목록분류 전체보기 (179)
study record
공식 문서 https://developer.apple.com/documentation/uikit/uitableview를 공부하며 작성한 글입니다. UITableView 하나의 열과 행들을 사용하여 데이터를 표현하는 View @MainActor class UITableView : UIScrollView Overview iOS 에서 Table views는 하나의 열에서 컨텐츠를 수직으로 스크롤링하는 행들로 보여준다. 테이블의 각 행들은 앱의 컨텐츠들을 포함한다. 테이블들은 앱에서 계층적으로 조직화, 구조화되어 있는 데이터에 흔하게 사용된다. 계층적 데이터를 포함하는 앱들은 종종 테이블을 네비게이션 뷰 컨트롤러와 함께 사용한다. 계층의 다른 레벨들 사이에서 네비게이션을 활성화하여 사용한다. 예시로 설정 앱은 ..
공식문서 https://developer.apple.com/documentation/uikit/views_and_controls/table_views 를 읽고 정리한 글입니다. Table Views 커스텀가능한 행들과 하나의 칼럼으로 데이터를 보여줍니다. Overview 테이블뷰는 수직 방향으로 스크롤링가능한 컨텐츠를 하나의 열로 보여줍니다. 행들과 섹션들로 나누어질 수 있습니다. 각 테이블의 행들은 앱에서 관련된 정보의 하나의 조각을 보여줍니다. 섹션들은 개발자가 관련된 열들을 함께 묶을 수 있도록 도와줍니다. 예를 들어, 연락처 앱은 테이블을 사용자들의 연락처들의 이름을 보여주기 위해 테이블을 사용합니다. TableViews는 많은 다른 객체들 사이의 협력으로 이루어집니다. 다음의 요소들이 그 객체들..
Dispatch란? Dispatch란 어떤 메서드를 호출할 것인지를 결정하여, 그것을 실행하는 메커니즘이다. Swift에서는 Static Dispatch와 Dynamic Dispatch 두 가지 방식이 있다. 즉, 호출할 함수를 "컴파일 타임"에 결정하느냐, "런타임"에 결정하냐에 따른 방식이다. Static Dispatch(Direct Call) "컴파일 타임"에 호출될 함수를 결정하여, 런타임 때 그대로 실행한다. 컴파일 타임에 결정이 되기 때문에 성능상 이점을 가질 수 있다. Dynamic Dispatch(Indirect Call) "런타임"에 호출될 함수를 결정한다. Swift에서는 클래스마다 함수 포인터들의 배열인 vTable(Virtual Dispatch Table)을 유지한다. 하위 클래스가..
레이아웃 사이클 iOS 레이아웃 사이클은 세가지 단계로 이루어진다. 1. 제약 조건 (Constraints) - 오토레이아웃의 제약 조건 갱신 - 제약 조건은 뷰를 실제로 배치하는데에는 영향을 주지 않는다. - 제약 조건의 갱신은 뷰 계층구조에서 하위뷰에서 상위뷰의 순서로 이루어진다. 2. 레이아웃 (Layout) - 제약 조건을 바탕으로 레이아웃을 갱신한다. - 레이아웃은 구체적인 뷰의 프레임이다. - 이 단계에서 뷰의 Center와 Bounds를 결정한다. - 레이아웃의 갱신은 뷰 계층구조에서 상위뷰에서 하위뷰의 순서로 이루어진다. 3. 그리기 (Draw) - 레이아웃 단계에서 구한 프레임을 CoreGraphics를 사용하여 화면에 그린다. 뷰컨트롤러의 레이아웃 사이클 1. loadView() IB에..