목록뷰 (2)
study record
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bWvdrq/btryBrRrwVI/sqFlGmCscuV3aQcKGMmvWk/img.png)
레이아웃 사이클 iOS 레이아웃 사이클은 세가지 단계로 이루어진다. 1. 제약 조건 (Constraints) - 오토레이아웃의 제약 조건 갱신 - 제약 조건은 뷰를 실제로 배치하는데에는 영향을 주지 않는다. - 제약 조건의 갱신은 뷰 계층구조에서 하위뷰에서 상위뷰의 순서로 이루어진다. 2. 레이아웃 (Layout) - 제약 조건을 바탕으로 레이아웃을 갱신한다. - 레이아웃은 구체적인 뷰의 프레임이다. - 이 단계에서 뷰의 Center와 Bounds를 결정한다. - 레이아웃의 갱신은 뷰 계층구조에서 상위뷰에서 하위뷰의 순서로 이루어진다. 3. 그리기 (Draw) - 레이아웃 단계에서 구한 프레임을 CoreGraphics를 사용하여 화면에 그린다. 뷰컨트롤러의 레이아웃 사이클 1. loadView() IB에..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KMH84/btrw2NV6gFX/KqkcUEXerio4gQs2ZWOnmk/img.png)
ViewController의 생명주기 1. func viewDidLoad() 뷰 계층이 메모리에 로드된 직후 호출되는 메소드. 메모리에 처음 로딩될 때 한 번만 호출되는 메소드로 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않는다. 리소스 초기화 및 초기 화면 구성하기에 좋다. 2. func viewWillAppear(_ animated: Bool) 뷰가 뷰 계층에 추가되고, 화면에 표시되기 직전에 호출되는 메소드. 다른 뷰로 이동했다가 되돌아오면 다시 호출된다. 화면이 나타날 때마다 수행해야 하는 작업을 구현하면 좋다. 3. func viewDidAppear(_ animated: Bool) 뷰가 뷰 계층에 추가되어 화면에 표시되고 난 후 호출되는 메소드. 뷰를 나타내는 것과 관련된 추가 작업을..