Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- viewDidAppear
- 픽셀
- ios
- SWIFT
- 포인트
- 입력 개수 제한
- 8 그리드 시스템
- 직장인인강
- 패스트캠퍼스
- git workflow
- 뉴모피즘
- Xcodebuild
- 플랫디자인
- 마크다운
- 디자인 트렌드
- Git Tutorial
- 직장인자기계발
- commit message
- git
- 아이폰
- 뉴북
- 스큐어모피즘
- commit messages
- .DS_Store
- iOS앱개발올인원패키지Online.
- 머티리얼 디자인
- 패캠챌린지
- commit
- viewDidLoad
- 패스트캠퍼스후기
Archives
- Today
- Total
왕논의 연구실
[swift] lazy 본문
처음 요청되어었을 때 생성됨
lazy로 선언하면 메모리에 올리지 않고 프로퍼티를 요청했을 때 초기화됩니다. 그래서 요청하지 않고 끝난다면 초기화되지 않고 종료됩니다. 그러므로 불필요한 성능저하나 공간 낭비를 줄일 수 있습니다.
항상 lazy var로 선언
왜냐하면 언제 초기화해서 완료되는지 알 수 없습니다. 처음에 값이 없다가 나중에 값을 가지게 되므로 var로 선언해야합니다. let은 초기에 값을 가지고 변하지 않습니다. 언제 값을 가질 수 있을지 모르기 때문에 thread safe하지 않습니다.
Stored Property로 선언
lazy는 요청되었을 때 메모리에 올라가 값을 가집니다. Computed Property는 메모리를 가지고 있지 않고 값을 반환하기 때문에 lazy를 사용할 수 없습니다.
Closure에서 self 사용 가능
일반적으로는 클래스가 생성된 다음에 접근해야하기 때문에 self를 사용할 수 없습니다. 그러나 lazy는 생성후 초기화하겠다는 의미여서 접근이 가능합니다.
참고
https://baked-corn.tistory.com/45
https://hyunndyblog.tistory.com/155
https://velog.io/@dev-lena/View의-lazy-프로퍼티
'iOS > Swift' 카테고리의 다른 글
[Swift] 기기에 따른 화면 오토레이아웃 구성 (0) | 2023.01.15 |
---|---|
[Swift] CoreBluetooth (0) | 2022.11.30 |
[Swift] UIToolbar (0) | 2022.06.29 |
[Swift] 커스텀 폰트 적용 (0) | 2022.06.27 |
[Swift] Struct vs Class (0) | 2022.06.18 |