lazy var

2023. 7. 7. 10:43·면접준비

Lazy var 그게 몬데? 그냥 private var 이나 쓰면 되지 굳이 이런걸 왜써? 

이렇게 생각하면 안댐

직독직해 게으른 변수는 매우 swift에서 메모리적으로 효율적이게 도와준다.

처음 사용되기전까지 연산이 되지 않기에!!

그럼 두번째부턴? 뭐가효율적?

 

이 그림하나로 lazy var를 어떻게 쓰는지는 완벽하게 설명이된다. 

computed Property랑 뭐가 다를까?

바로 처음 사용될때 메모리에 올리고 그 후부터는 그냥 메모리에 올라온값사용! 연산프로퍼티는 사용할때마다 연산을 한다

장점

- 뷰 로드될때 모든 인스턴스를 올린다면 메모리 과부하를 막을수 있다

와 그렇다면? 그냥 모든 규모 큰 변수들을 lazy 처리하게 된다면 앱의 안정성과 효율성은 짱짱 좋아지는 거 아냐? 

당연히 ㄴㄴ~!

- 여러개의 쓰레드에서 동시에 접근을 하면 여러개의 변수가 생긴다.

엄격한 쓰레드 처리를 해야함. 

1. 이전에 한 씨리얼큐 + Sync로 해결가능! 객체내부에서 시리얼큐로 하나씩들어가도록

2. 아니면 Barrier사용

3. 세마포어사용
작업을 실행하기전에 미리 lazy 변수를 만들어 준 후 작업하는 방식도 있다.

 

 

참고

https://www.logilax.com/swift-lazy-variables/

 

Lazy Variables in Swift with Examples: Complete Guide - Logilax

In Swift, a lazy variable is a variable that gets initialized only when it is called for the first time. To put it another way, using a lazy variable, you can delay the initialization of stored property. This is a great feature due to the limitations in th

www.logilax.com

 

'면접준비' 카테고리의 다른 글

TaskGroup  (0) 2023.08.13
Swift Concurrency - Async/Await⭐️  (0) 2023.08.08
디스패치 그룹  (0) 2023.07.02
GCD queue.  (0) 2023.07.02
Actor🕴🏻  (0) 2023.06.29
'면접준비' 카테고리의 다른 글
  • TaskGroup
  • Swift Concurrency - Async/Await⭐️
  • 디스패치 그룹
  • GCD queue.
2료일
2료일
좌충우돌 모든것을 다 정리하려고 노력하는 J가 되려고 하는 세미개발자의 블로그입니다. 편하게 보고 가세요
  • 2료일
    GPT에게서 살아남기
    2료일
  • 전체
    오늘
    어제
    • 분류 전체보기 (121)
      • SWIFT개발 (30)
      • 알고리즘 (25)
      • Design (6)
      • ARkit (1)
      • 면접준비 (31)
      • UIkit (2)
      • Vapor-Server with swift (3)
      • 디자인패턴 (5)
      • 반응형프로그래밍 (12)
      • CS (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    filter
    image
    HIG
    Swift
    ios
    socket
    SwiftUI
    uikit
    Dependency
    비동기
    actor
    operators
    METAL
    shader
    kingfisher
    오블완
    TCP
    cs
    알고리즘
    UDP
    Protocol
    TCA
    Coremotion
    Python
    Vapor
    RxSwift
    티스토리챌린지
    combine
    CoreLocation
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
2료일
lazy var
상단으로

티스토리툴바