Swift 이론
Swift 기초 문법 - lazy 키워드
스윞남
2024. 1. 24. 00:40
728x90
반응형
SMALL
lazy :
이번에는 lazy에 대해 포스팅 해보겠습니다!

스위프트에서 'lazy' 키워드는 속성을 "지연 계산"하는 데 사용됩니다.
해당 속성에 처음으로 접근하는 시점까지 초기화가 지연되어 계산되지 않습니다.
필요한 시점에만 값을 계산하고, 불필요한 자원 낭비를 줄일 수 있습니다.
lazy 키워드 특징
1. 초기화 지연 :
'lazy' 키워드로 선언된 속성은 인스턴스 생성 시점이 아니라 속성에 처음으로 접근하는 시점에 초기화됩니다.
2. 계산 속성으로 동작 :
실제로 계산 속성으로 동작합니다. 속성에 접근할 때마다 계산이 실행됩니다.
3. 한 번만 계산 :
처음 한 번만 계산되며, 이후 접근 시에는 이전에 계산된 값이 재사용됩니다.
lazy var propertyName: PropertyType = {
// 계산되는 초기화 코드
// 반환 값은 속성의 타입에 맞아야 합니다.
return initialValue
}()
propertyName은 lazy 키워드를 사용하여 지연 계산되는 속성을 선언하고 있습니다.
PropertyType은 해당 속성의 타입이며, 초기화 코드를 클로저로 정의하고, 이 클로저의 반환값은 속성의 타입과 일치해야 합니다.
class MyClass {
lazy var expensiveProperty: Int = {
print("Calculating expensive property...")
return 42
}()
}
let instance = MyClass()
// 여기까지는 "Calculating expensive property..."가 출력되지 않음
print(instance.expensiveProperty)
// 출력: "Calculating expensive property..."
// 출력: 42
print(instance.expensiveProperty)
// 출력: 42 (이미 계산된 값 재사용)
expensiveProperty은 처음으로 접근될 때 계산이 되며, 이후에는 이전에 계산된 값이 재사용됩니다.
expensiveProperty에 처음으로 접근 할때만 print문이 출력됩니다.
출처 : 개발하는 정대리
MVC, MVVM 패턴에서의 lazy
728x90
반응형
LIST