일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머티리얼 디자인
- 디자인 트렌드
- 직장인인강
- 마크다운
- 직장인자기계발
- 포인트
- commit message
- 스큐어모피즘
- Xcodebuild
- 아이폰
- ios
- 패스트캠퍼스후기
- viewDidLoad
- 플랫디자인
- commit
- 뉴북
- 입력 개수 제한
- git workflow
- 8 그리드 시스템
- git
- 뉴모피즘
- .DS_Store
- 픽셀
- SWIFT
- commit messages
- viewDidAppear
- iOS앱개발올인원패키지Online.
- 패스트캠퍼스
- Git Tutorial
- 패캠챌린지
- 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
[Swift] lazy Variables
Lazy variables 이전의 글들을 보셨거나 스위프트 문법 공부를 해보신 분들이라면 스위프트에서 메모리는 굉장히 예민한 주제인 것을 알 수 있습니다. 저 역시 그렇게 느꼈고, 그런 예민함이 보다
baked-corn.tistory.com
https://hyunndyblog.tistory.com/155
[Swift] lazy 키워드
개요 메모리 관리에 대해 생각을 하다보니 C++에 lazy 키워드라는게 있었던거 같은데..생각이 들며 Swift에도 있겠지 하고 찾아보았습니다. 출처: abhimuralidharan.medium.com/lazy-var-in-ios-swift-96c75cb8a13..
hyunndyblog.tistory.com
https://velog.io/@dev-lena/View의-lazy-프로퍼티
lazy closure를 이용한 View 초기화
lazy property, 지연 저장 프로퍼티, lazy closure, View와 lazy 프로퍼티, lazy closure를 이용한 View 초기화
velog.io
'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 |