250x250
반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

스윞한 개발자

Swift 기초 문법 - lazy 키워드 본문

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