-
lazy 코드 : 지연 초기화, 해당 프로퍼티 사용될 때 까지 초기화 되지 않음.Swift 2023. 12. 21. 23:46
private lazy var vStackView: UIStackView = { let view = UIStackView(arrangedSubviews: [ topLabel, bottomLabel ]) view.axis = .vertical view.spacing = -4 return view }()
위의 코드에서 lazy 키워드를 사용하여 vStackView를 선언하는 이유는 지연 초기화를 수행하기 위해서입니다. lazy 키워드를 사용하면 해당 프로퍼티에 대한 초기화가 처음 접근될 때까지 지연됩니다. 즉, 해당 프로퍼티가 처음으로 사용될 때까지 초기화되지 않습니다.
지연 초기화를 사용하는 이유는 다음과 같습니다:
성능 개선: vStackView 프로퍼티가 사용되지 않는 경우에는 초기화를 진행하지 않기 때문에, 불필요한 자원 소모를 방지하여 성능을 향상시킬 수 있습니다.
순환 참조 방지: vStackView가 다른 뷰나 객체를 참조하고 있을 때, 이를 초기화할 때 상호 참조로 인해 순환 참조가 발생할 수 있습니다. 이를 방지하기 위해 lazy 키워드를 사용하여 지연 초기화를 수행하면, 초기화 시점을 조절할 수 있어 순환 참조 문제를 해결할 수 있습니다.
초기화 순서 제어: vStackView가 다른 프로퍼티들에 의존하는 경우, lazy 키워드를 사용하여 초기화 순서를 제어할 수 있습니다. lazy 키워드를 사용하면 다른 프로퍼티들이 모두 초기화된 이후에 vStackView를 초기화할 수 있습니다.
따라서, lazy 키워드를 사용하여 vStackView를 선언함으로써 초기화를 지연시키고, 성능 개선과 순환 참조 방지, 초기화 순서 제어 등의 이점을 얻을 수 있습니다.'Swift' 카테고리의 다른 글
[Swift] Firebase - FireStore 등록 addDocument (0) 2024.01.07 애플 ABM(Apple Business Manager) 등록 기록, 애플 회사 기기 등록 (1) 2023.12.22 [Swift] FirebaseDatabase 채팅 기능 upload/fetch 예제 (0) 2023.10.28 [Swift] 이슈트래킹: Firebase에서 값이 안뜸 (원인: 값을 가져오긴 했는데 closure의 실행 과정에 대한 이해 부족) (0) 2023.10.28 Codable 프로토콜 (0) 2023.10.28