Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 1.67 KB

TIL220103.md

File metadata and controls

42 lines (27 loc) · 1.67 KB

Daily to do list

스위프트 문법 (O)

프로토콜, 불투명 반환


HIG (O)

Audio


CS (X)


알고리즘 (x)


오늘의 회고

오늘은 오랜만에 출근이라 그런지 Lazy에 대해서만 공부를 조금 해보고 못해서 메모가 짧다.. 대신 문법 책을 일단 더 보고.. 있다.. 그래도 오늘도 역시 HIG와 문법을 차근차근 나가면서 기초가 이래서 중요하구나 여태까지 프로그래밍을 다른 언어로 하긴 했어도 기초부터 쌓는게 이런 것들을 또 새롭게 알려주는구나를 배울 수 있었다.

220103

Lazy 프로퍼티


lazy는 초기 init시에 초기화 되는것이 아니라 호출 될 때 생성이 되면서 메모리에 올라가며 이후 같은 변수를 사용시 다시 초기화가 진행되지 않고 이전에 생성된 변수를 그대로 사용

iOS는 앱의 사용량이 너무 높아지면 앱을 죽인다.

개발자는 처음부터 메모리 관리를 잘 신경써야 한다.

Swift는 비싼 코스트의 작업을 in-time 계산할 수 있게 하기 위해

lazy variables를 제공한다.

lazy variables는 변수가 처음 요청되었을 때만 사용자가 지정한 함수를 사용하여 생성된다.

장점

  1. lazy property와 관련된 클로저는 오직 그 프로퍼티를 읽을 때만 실행된다. 즉 사용자의 판단에 그 프로퍼티가 잘 사용되지 않는다면, 사용자는 불필요한 할당과 실행을 방지할 수 있다.

  2. lazy property를 stored property의 값으로 채울 수 있다.

  3. lazy property의 클로저 안에 self를 사용할 수 있다. 순환 참조를 일으키지 않는다.