# view lifecycle

[SeSAC] iOS week2 07
OpenSource 카카오톡, 인스타그램 같은 우리가 자주 사용하는 앱의 설정에 들어가면, 오픈소스 라이선스라는 항목을 볼 수 있는데요, 앱을 개발하면서 사용한 외부라이브러리를 볼 수 있습니다. 개발에서 공유문화로 소스코드를 많이 공유하지만, 저작권에 유의하며 사용합시다~ Dependency Manager 외부라이브러리를 프로젝트에서 사용하기 위해서 dependency manager를 사용합니다. 종류와 특징을 알아볼게요 CocoaPods SPM이 나오기 전부터, 가장 많이 사용해서 거의 100% 지원합니다 터미널을 활용해서 podfile을 생성하고 적용시키는 과정이 ![] 필요해요 빌드 속도는 떨어지는 편입니다 Carthage 코코아팟보다 빌드속도가 빠른편이예요 하지만 지원하는 오픈소스가 적습니다 Swift Package Manager 써드파티가 아닌 xcode 자체에 내장된 기능입니다 사용

[iOS/Swift] How to respond to view life cycle updates
앱의 Lifecycle, 생명주기는 앱의 실행부터 종료까지의 상태 변화라고 볼 수 있다. 앱이 어떤 생명 주기에서 어떤 동작을 해야하는지 잘 정의하면 된다. 즉, Lifecycle event에 잘 respond 하는 것이 개발자가 할 일이다. iOS 13부터는 scene이라는 개념이 생겼는데, 이는 하나의 앱이 여러 개의 scene 인스턴스를 가질 수 있게 되었음을 뜻한다. 예를 들면, 아이패드에서 하나의 필기 어플을 2개의 화면으로 띄워서 사용하는 경우를 떠올려보면 이해하기 쉽다. multi scene 환경에서는 서로 다른 scene은 서로 다른 인스턴스로, 각자의 생명주기를 갖게 된다. 그렇기 때문에 iOS 13 이전에 AppDelegate에서 Process Life

[Android] setHasFixedSize(true) 의 정체
다시 꺼내보는 RecyclerView 이야기 필자는 예전 포스팅에서 ViewHolder 패턴에 대해서 알아보고, ListView 에서 ViewHolder 패턴을 강제하는 형태로 등장한 것이 RecyclerView 라고 이야기한 적이 있다. 일단 RecyclerView 의 사용 이유에 대해선 알게 됐다. 알게 됐는데, 한 가지 정곡을 찌르는 부분이 있다. 이 글을 보고있는 당신! RecyclerView 를 사용할 때 무의식적으로 복붙하여 사용한 아래 코드, 당신은 이 코드의 의미를 알고 있나? XML 상으로 존재하는 리사이클러뷰에 레이아웃 매니저를 설정해주고, 정의해둔 어댑터를 설정해줄 때 위

[iOS] View Controller LifeCycle
View Controller의 Life Cycle 뷰 컨트롤러의 생명주기는 다음 그림과 같다. 기억하기 쉽게 다음과 같이 이해하면 될것 같다. > 로드 -> 어피어 -> 디스어피어 -> 언로드 뷰 컨트롤러가 로드 되고 나서 화면에 나타나고(appear) 사라지고(disappear) 로드가 해제된다(unload). 그리고 각각 앞뒤로 will, did 접두사가 붙는다. 단, 로드와 언로드만 will이 없다 각 뷰 컨트롤러의 서브뷰들은 어피어 전에 레이아웃 예정되고, 레이아웃 된다 > 출처: https://www.boostcourse.org/mo326/lecture/16858/?isDesc=false 네이버 부스트코스 ios 프로그래밍 강좌

How To Render UI In Android (2/2)
View가 그려지는 순서에 대해 알아보자 UI가 렌더링 되는 과정에서 View Lifecycle 에 대해 알아보았다. Measure, Draw, Layout 단계를 거치면서 View의 크기가 측정되고, 어느 위치에 놓여질 지 결정되며, 비로소 그려지게 된다. 그렇다면, Lifecycle을 이용해 아래처럼 다양한 View Depth 를 가지는 Layout 에 대해서 어느 순서로 Child View 의 크기가 측정되며, 어느 순서로 그려지는지 코드를 통해 알아보자. 👏 실험 root Container 를 부모 레이아웃으로 삼아 다양한 depth 의 View 가 쌓여져 있고, 이는 아래처럼 그래프로 나타낼 수 있다. ![](https://images.velog.io/images/jshme/post/31b049e8-aa03-4584-be0d-025e7aba3260/Unt