비전공자의 Swift 기초문법 - lazy

Cobugi·2021년 11월 20일
1

swift

목록 보기
10/12
post-thumbnail

lazy

  • 지연 저장 프로퍼티 (Lazy Stored Properties)
  • 이 프로퍼티가 호출되기 전까지는 초기화 되지 않다가, 호출될 때 초기화 됨
  • lazy var O, lazy let X
  • 복잡한 계산, 부하가 많이 걸리는 작업 지연 프로퍼티를 사용하면 불필요한 성능저하, 공간 낭비를 줄일 수 있음

예제

struct ColorSet {
    var red: Int = 255
    var green: Int = 255
    var blue: Int = 255
}

class ArtWork {
    // 지연 저장 프로퍼티
    lazy var backgroundColor: ColorSet = ColorSet()
    let name: String
    
    init(name: String) {
        self.name = name
    }
}

let myFavoriteArtWork = ArtWork(name: "Composition II with Red Blue and Yellow")

print(myFavoriteArtWork.backgroundColor) // 이때 ColorSet 생성
  • 결과
ColorSet(red: 255, green: 255, blue: 255)
profile
iOS Developer 🐢

0개의 댓글